本篇文章由git教程欄目給大家介紹git在如何設(shè)置不相同的fetch和push地址的,有需要的朋友可以收藏學(xué)習(xí)哦~希望對(duì)大家有幫助。
一般情況下,如果是一個(gè)人用 git 開發(fā),不需要代碼 review 啥的,fetch 和 push 都一個(gè)地址就夠了,反正也不需要 review,也不會(huì)有人覆蓋你的代碼。
但是在公司里面,或者正規(guī)的代碼合并流程,都會(huì)有 review 的環(huán)節(jié),大概是:
-
fork 主倉(cāng)庫(kù)到個(gè)人倉(cāng)
-
clone 個(gè)人倉(cāng)到本地
-
修改本地代碼并提交 commit
-
push 修改到個(gè)人倉(cāng)
-
提交 Merge Request 到主倉(cāng)庫(kù)
如果主倉(cāng)庫(kù)有更改,還需要另外一步:
-
從主倉(cāng)庫(kù)同步更改,也就是手動(dòng) pull
那么,如何設(shè)置個(gè)人倉(cāng)為 push 地址,而設(shè)置主倉(cāng)庫(kù)為 pull 地址呢?
方法一:多個(gè) origin
第一種方法是,在原 origin 遠(yuǎn)程倉(cāng)庫(kù)地址的基礎(chǔ)上,再加一個(gè)地址,也就是主倉(cāng)庫(kù)地址,例如加一個(gè)origin_mian,如下:
git?remote?add?origin_main?git@github.com:yeszao/dnmp.git
這樣我們總共就配置了 4 個(gè)地址,2 個(gè) push 和 2 個(gè) 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)
在推拉代碼的時(shí)候就可以這樣:
git?push?origin?master git?pull?origin_main?master
方法二:一個(gè) origin(推薦)
另外一種辦法就是,我們只用一個(gè) origin,設(shè)置主倉(cāng)庫(kù)為 fetch 地址,個(gè)人倉(cāng)庫(kù)為 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)
這樣推拉代碼就 很簡(jiǎn)單了:
git?push?origin?master git?pull?origin?master
如果沒(méi)有特別的要求,推薦使用方法二,用法和命令都更加簡(jiǎn)單。