Github進行Fork後與源倉庫保持同步

每次fork代碼後進行團隊協作時就會遇到代碼不同步的問題,這篇文章就記錄一下fork後代碼同步的詳細過程

Step.1:在Github上fork項目

這一步就不用解釋了,在原項目上點擊 fork 就行

Step.2:拉取fork的項目到本地

注意:這裏拉取的是 自己Github 上的fork的項目,而不是源項目。

Step.3:進入本地倉庫所在目錄

這裏我用的是Git bash,直接進入本地倉庫

Step.4:執行git remote -v 查看遠程倉庫路徑

在這裏插入圖片描述
如果上面只有兩行,那就說明沒有設置upstream。這兩行是自己的遠程倉庫的地址,所以要設置源項目遠程倉庫的地址。

Step.5:設置源項目遠程倉庫地址

執行命令git remote add upstream https://github.com/pkussoj/OnlineJudge_BasedOnQDU.git
這個命令時添加源項目(也就是你fork的項目)的遠程倉庫地址,執行後沒有返回信息。
然後,再執行git remote -v查看是否成功:
在這裏插入圖片描述

Step.6:執行git status檢查本地是否有未提交的修改

如果有,則把你本地的有效修改,先從本地倉庫推送到你的github倉庫。

提交修改的過程如下:

  • git add filename或者git add .
  • git commit -m "your note"
  • git push origin master

最後再執行一次 git status 檢查本地已無未提交的修改。

注意:這一步是爲了避免大量無效修改或文本衝突帶來的更復雜局面。建議執行。

Step.7:執行命令 git fetch upstream拉取更新

從源代碼倉庫拉取最新代碼
我這裏是已經拉取過最新的代碼,所以沒有返回信息
在這裏插入圖片描述

Step.8:切換分支git checkout master

正常情況下分支應該就是master,如果是,則可以跳過這一步。
也可以切換到任意分支,拉取你想要分支的代碼。
在這裏插入圖片描述

Step.9:合併遠程分支git merge upstream/master

合併遠程分支代碼到本地倉庫,執行完該命令後,可以看到本地倉庫的代碼已發生修改。

Step.10:執行git push推送本地代碼到遠程倉庫(自己的)


後記:

上面步驟就是完整步驟,執行完後就可以得到更新後的代碼倉庫。

其實,Step.7,Step.8,Step.9 可以合併爲一個步驟:

git pull upstream master

這裏的git pull命令時將遠程倉庫代碼拉取到指定分支,這裏也就是將源倉庫代碼直接拉取到本地master分支。

最後再執行git push推送到自己的遠程倉庫

相關命令的解釋可以參考:https://blog.csdn.net/weixin_43207025/article/details/105460595


參考資料:

https://github.com/selfteaching/the-craft-of-selfteaching/issues/67

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章