有时候我们可能需要将一个项目同时
push
到不同的远程仓库,有的人可能会想到每次改动都分别
push
到不同的远程仓库,但是这种方法十分的重复而又低效,非常之蛋疼,如何才能一次同时
push
到不同远程仓库呢,下面就给出方法。
大家应该都知道
git.oschina
有这样一个功能。
从 github 导入
这个功能可以直接将
github
的项目直接导入
git.oschina
,这样你的项目就同时存到了
github
和
git.oschina
,十分的方便,所以这时候就非常的需要将本地代码同时
push
到这两个远程仓库,否则管理会非常的麻烦。
同时 push 到多个远程仓库
先将需要
push
的代码
clone
到本地,我
clone
的
github
仓库地址:
git@github.com:Jonzzs/SimpleNote.git
我需要将这份代码同时 push
到 github
和 git.oschina
的仓库,下面是地址:
git@github.com:Jonzzs/SimpleNote.git
git@git.oschina.net:Jonzzs/SimpleNote.git
用文本编辑器打开本地项目下 .git
文件夹中的 config
文件:
precomposeunicode = true
[remote "origin"] // 修改此处
url = git@git.oschina.net:Jonzzs/SimpleNote.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
ignorecase = true
precomposeunicode = true
[remote "origin"] // 添加 pushurl 来同时 push 到多个远程仓库
url = git@git.oschina.net:Jonzzs/SimpleNote.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = git@git.oschina.net:Jonzzs/SimpleNote.git
pushurl = git@github.com:Jonzzs/SimpleNote.git
[branch "master"]
remote = origin
merge = refs/heads/master
编辑完后 command + s
保存一下,大功告成,接着你使用 git push
就会同时 push
到这两个远程仓库,快测试一下吧。
注意: 上面的 url
默认是你 clone
下来的地址不用管它,下面的 pushurl
默认最下面的地址是你执行 git pull
时的地址,所以你 git pull
想从哪个地址拉取,就写在最下面。 pushurl
可填写多个,你想要同时 push
几个远程仓库就填几个。另外远程仓库的名字可以不一样,但是 Branch
分支,两个仓库必须一样。