作者:shede333
主頁:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847
版權聲明:原創文章,版權聲明:自由轉載-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]
一般來說,我們為git增加遠程庫,一般都是git remote add origin <url>
( 你可以使用真實的地址來代替 \<url\> )
但是你可能想要把你的本地的git庫,既push到github上,又push到開源中國的Git@OSC上,怎麼解決呢。
有人可能會用兩個甚至多個遠程庫,即再添加一個遠程庫git remote add origin2
;
這個方法很低效,因為你要git push 兩次才能完成push到兩個庫。
其實還有一個方法,git的一個遠程庫 可以對應多個地址,即我能讓 遠程庫origin擁有多個url地址。 方法如下:
首先,我們從零開始, 假設你現在想要增加3個遠程庫地址,分別為 :
\<url1\> https://git.oschina.net/shede333/swioslibary.git
\<url2\> https://git.oschina.net/shede333/swscrollbar.git
\<url3\> https://github.com/shede333/CoreAnimationTestSW.git
首先,先增加第一個地址 git remote add origin <url1>
然後增加第二個地址 git remote set-url --add origin <url2>
增加第三個地址 git remote set-url --add origin <url3>
....依次類推
這樣就完成了添加多個地址到origin庫中了, 以後只要使用git push origin master
就可以一次性push到3各庫裡面了(使用git push
也可)
git remote set-url --add origin
就是往當前git項目的config文件裡增加一行記錄
config文件打開方式有兩種:
你每執行一次git remote set-url --add origin
就會增加一行,如下圖:
git remote -v
:顯示當前所有遠程庫的詳細信息,顯示格式為 遠程庫名字 url連接(類型)
所以說,你直接在config裡面直接添加url來修改也是可以的,不必去執行git命令。
使用git push origin master
時,你可以push到origin的多個url地址,
但是使用 git pull
時,只能拉取origin裡的一個url地址(即fetch-url,如上圖),這個fetch-url默認為 你添加的到origin的第一個地址,
如果你想更改,只需要更改config文件裡,那三個url的順序即可,fetch-url會直接對應排行第一的那個utl連接。
我最近看見這篇文章也不錯,原理相似:將項目同時托管到Github和Git@OSC
有興趣的可以看看
IDEA/Git 設置多個push遠程倉庫或者同時提交多個push倉庫
來自於: http://my.oschina.net/shede333/blog/299032