[remote "origin"]
url = git@github.com:SegmentFault/XXX.git
fetch = +refs/heads/*:refs/remotes/origin/*
[remote "dev"]
url = git@gitlab.com:root/XXX.git
fetch = +refs/heads/*:refs/remotes/dev/*
config 中配置了兩個遠端倉庫。我想終端下一句 git push 同時把程式碼提交到兩個倉庫,該怎麼做?
我用過兩種方法,最早的時候是設定多個 remote,然後寫一個 alias,例如:
後來在某一個版本(忘了具體的版本號)升級之後,Git 多了一項設置,使得你可以為一個 remote 設定多個 pushurl。比如說你問題裡的例子,我可以不要
remote "dev"
,只留下remote "origin"
,然後再加一句:在這之後,你的
remote "origin"
就變成類似如下的結構:如此一來,我可以直接
git push origin
就可以推向兩個 repos 了。這兩種方法其實各有各的適用場景,自己取捨吧。
既然有被牆的危險,就有兩個倉庫不同步的蛋疼事。還不太麻煩..
實在要這麼做的話,就寫個shell檔吧。
然後別忘了讓它成為可執行的:(假設腳本叫
push.sh
)答案:http://blog.codepiano.com/2013/07/03/push-multi-remote-repositories/
SegmentFault同樣的問題:
/q/1010000000367632/a-1020000000369754
/q/1010000000411859/a-102001000411859/a-102001000