有时候我们可能需要将一个项目同时
push到不同的远程仓库,有的人可能会想到每次改动都分别push到不同的远程仓库,但是这种方法十分的重复而又低效,非常之蛋疼,如何才能一次同时push到不同远程仓库呢,下面就给出方法。
大家应该都知道 git.oschina 有这样一个功能。
如图:

这个功能可以直接将 github 的项目直接导入 git.oschina ,这样你的项目就同时存到了 github 和 git.oschina ,十分的方便,所以这时候就非常的需要将本地代码同时 push 到这两个远程仓库,否则管理会非常的麻烦。
同时 push 到多个远程仓库
- 先将需要
push的代码clone到本地,我clone的github仓库地址:
git@github.com:karise-guo/SimpleNote.git |
- 我需要将这份代码同时
push到github和git.oschina的仓库,下面是地址:
git@github.com:karise-guo/SimpleNote.git |
- 用文本编辑器打开本地项目下
.git文件夹中的config文件:

这个文件夹在你项目下默认是隐藏的,你可以显示隐藏文件后用
Finder打开config文件,或者使用终端命令来修改config文件,具体怎么做我这里就不说了。我这里是直接使用
Source Tree这个工具来修改config文件,打开项目后选择设置-远程仓库-编辑配置文件...就能直接打开config文件了。

- 编辑
config文件,修改[remote "origin"]下面的内容:
[core] |
如图:

- 在
[remote "origin"]的最后,添加pushurl来同时push到多个远程仓库:
[core] |
如图:

- 编辑完后
command + s保存一下,大功告成,接着你使用git push就会同时push到这两个远程仓库,快测试一下吧。
注意: 上面的 url 默认是你 clone 下来的地址不用管它,下面的 pushurl 默认最下面的地址是你执行 git pull 时的地址,所以你 git pull 想从哪个地址拉取,就写在最下面。 pushurl 可填写多个,你想要同时 push 几个远程仓库就填几个。另外远程仓库的名字可以不一样,但是 Branch 分支,两个仓库必须一样。