參與開源專案會碰到的問題 ...
身為萌新的開發人員,
參與開源專案是一件令人興奮的事情。
本文為在 github 上的操作,
並參考相關網站,將此問題作為手札記錄下來。
一、前言
當 fork 來源的 repository 更新時,我們必須要手動更新自己這邊的 repository,
接下來的步驟如果覺得過於困難,
也可以將整個專案移除,然後重新 fork,大概就是砍掉重練(X
二、取得遠端版本控制
範例的專案 mindmapp 為筆者參與時所遇到的問題,
因此以此專案作為範例。
首先在你 fork 出來的專案中,查詢遠端版本的來源:
git remote -v
- origin:來自你個人帳號的版本控制,「origin」為預設名稱。
目前遠端版控預設也只有自己帳號的,
為了取得來源的資訊,我們加入原始來源的版本控制。
git remote add upstream https://github.com/Mindmapp/mindmapp.git
- add:新增遠端控制。
- upstream:新增遠端控制的別名,可自行命名。
接著再次查看目前專案的遠端控制來源:
git remote -v
應該可以看到 upstream 也加入了!
三、更新專案
接下來假設我要更新主線 master 的專案,就切換到主線上:
git checkout master
- checkout:切換分支或主線
如果在 vscode 環境中,也可以利用左下選單選取:
接著透過 pull 指令,指定名為 upstream 上的主線 master:
git pull upstream master
- 由於筆者的主線專案已最新,所以不會有更動紀錄。
下方為有更動紀錄的截圖,當時是更新 dev 分支。
如果你的主線上有個人的 commit 狀態,使用 rebase,就不會產生 merge:
git pull --rebase upstream master
在 vscode 中,若有更新檔案,下方可以看到貼心地提醒更新個數:
拉好最新檔案後,我們就可以將這些檔案重新 push 到我們自己的版控上:
git push origin master
如此一來就可以完成同步了~~~
大家也來一起收服 Open Source 吧!
※、參考資訊
有勘誤之處,不吝指教。ob'_'ov