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 [email protected]:yeszao/dnmp.git
这样我们总共就配置了 4
个地址,2
个 push
和 2
个 pull
:
git remote -v
origin [email protected]:MY_REPOSITY/dnmp.git (fetch)
origin [email protected]:MY_REPOSITY/dnmp.git (push)
origin_main [email protected]:yeszao/dnmp.git (fetch)
origin_main [email protected]:yeszao/dnmp.git (push)
在推拉代码的时候就可以这样:
git push origin master
git pull origin_main master
方法二:一个 origin(推荐)
另外一种办法就是,我们只用一个 origin
,设置主仓库为 fetch
地址,个人仓库为 push
地址:
git remote set-url origin [email protected]:yeszao/dnmp.git
git remote set-url --add --push origin [email protected]:MY_REPOSITY/dnmp.git
再用 git remote
命令看看配置的地址:
origin [email protected]:MY_REPOSITY/dnmp.git (push)
origin [email protected]:yeszao/dnmp.git (fetch)
这样推拉代码就 很简单了:
git push origin master
git pull origin master
如果没有特别的要求,推荐使用方法二,用法和命令都更加简单。