日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

git同步fork倉庫同步upstream倉庫

作者:大王我親自來巡山 更新時間: 2022-07-12 編程語言

常見問題

開發中,經常要求我們fork一個自己的倉庫,然后,在自己倉庫中開發,最后,merge到upstream倉庫。
但是,由于,upstream倉庫可能會被很多人修改,因此,你自己fork的倉庫就會落后。
此時,就需要和upstream倉庫同步。
注意:
這里是fork倉庫和upstream倉庫同步,而不是本地倉庫和遠程倉庫同步。
常規開發,倉庫一般就有兩個:本地倉庫和遠程倉庫
但是,有些稍微大些的項目,會需要你fork一個自己的倉庫。
此時,你fork的倉庫才相當于遠程倉庫。
那么,此時你就有了三個倉庫:
本地倉庫:本地開發
你fork的倉庫:相當于遠程倉庫
upstream倉庫:一般只有最后merge的時候才會動

fork倉庫同步upstream倉庫

第一步,先在本地shell中,查看對應的遠程倉庫:

git remote -v

結果只顯示:
這個是你fork的倉庫,你還沒有關聯upstream倉庫。

origin  git@github.xxx.git (fetch)
origin  git@github.git (push)

關聯pstream倉庫:
URL就是你clone upstream倉庫時的https地址

git remote add upstream URL

然后再:

git remote -v

出現:

origin  git@github.xxx.git (fetch)
origin  git@github.xxx.git (push)
upstream        https://github.xxx.git (fetch)
upstream        https://github.xxx.git (push)

說明成功關聯上了upstream倉庫。
此時從upstream倉庫垃取最新的更新:

git fetch upstream

然后就會有很多:

dev           -> upstream/dev

這個的意思就是說,你已經把upstream倉庫的更新拉取到本地了,叫upstream/dev等等
注意: 是本地,你要想更新你fork的倉庫,還需要從本地提交到遠程:

git merge upstream/dev

這個的意思就把upstream/dev這個分支更新到你origin/dev
當然,如果你想指定某個分支更新到某個分支,你需要先切換本地對應的那個遠程倉庫的分支:本地xxx–> origin/xxx ,然后:

git merge upstream/xxx

最后注意

最后merge的時候,避免遠程和upstream倉庫有沖突,不然很惡心的,不讓merge。
所以,fork倉庫同步upstream倉庫,這個操作,應該是你每次準備pull request之前做。如果你先pull request,再操作,就會有沖突,就很惡心嘍,需要重新fork了。

原文鏈接:https://blog.csdn.net/weixin_43923436/article/details/121613677

欄目分類
最近更新