這篇文章由Git教學專欄跟大家介紹Git在如何設定不相同的fetch和push位址的,有需要的朋友可以收藏學習哦~希望對大家有幫助。
一般情況下,如果是一個人用 Git 開發,不需要程式碼 review 啥的,fetch 和 push 都一個位址就夠了,反正也不需要 review,也不會有人覆蓋你的程式碼。
但在公司裡面,或是正規的程式碼合併流程,都會有review 的環節,大概是:
fork 主倉庫到個人倉
clone 個人倉到本地
修改本地程式碼並提交commit
push 修改到個人倉
提交Merge Request 到主倉庫
如果主倉庫有更改,還需要另外一步:
從主倉庫同步更改,也就是手動pull
那麼,如何設定個人倉為push 位址,而設定主倉庫為pull 位址呢?
方法一:多個origin
第一個方法是,在原origin 遠端倉庫位址的基礎上,再加一個位址,也就是主倉庫位址,例如加一個origin_mian,如下:
git remote add origin_main git@github.com:yeszao/dnmp.git
這樣我們總共就配置了4 個位址,2 個push 和2 個pull:
git remote -v origin git@github.com:MY_REPOSITY/dnmp.git (fetch) origin git@github.com:MY_REPOSITY/dnmp.git (push) origin_main git@github.com:yeszao/dnmp.git (fetch) origin_main git@github.com:yeszao/dnmp.git (push)
在推拉程式碼的時候就可以這樣:
git push origin master git pull origin_main master
方法二:一個origin(推薦)
另一個方法就是,我們只用一個origin,設定主倉庫為fetch 位址,個人倉庫為push 位址:
git remote set-url origin git@github.com:yeszao/dnmp.git git remote set-url --add --push origin git@github.com:MY_REPOSITY/dnmp.git
再用git remote 指令看看設定的位址:
origin git@github.com:MY_REPOSITY/dnmp.git (push) origin git@github.com:yeszao/dnmp.git (fetch)
這樣推拉程式碼就很簡單了:
git push origin master git pull origin master
如果沒有特別的要求,建議使用方法二,用法和命令都比較簡單。
以上是教你在Git中設定不一樣的fetch和push位址的詳細內容。更多資訊請關注PHP中文網其他相關文章!