git 給遠程庫 添加多個url地址


目錄[-]

作者: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文件打開方式有兩種:

  1. 使用命令git config -e
  2. 在當前git項目的根目錄下,文件位於 .git/config (.git目錄為隱藏文件)

你每執行一次git remote set-url --add origin 就會增加一行,如下圖:

git remote -v:顯示當前所有遠程庫的詳細信息,顯示格式為 遠程庫名字 url連接(類型)

git-remote

所以說,你直接在config里面直接添加url來修改也是可以的,不必去執行git命令。

注意

使用git push origin master時,你可以push到origin的多個url地址,
但是使用 git pull時,只能拉取origin里的一個url地址(即fetch-url,如上圖),這個fetch-url默認為 你添加的到origin的第一個地址
如果你想更改,只需要更改config文件里,那三個url的順序即可,fetch-url會直接對應排行第一的那個utl連接。

Other

我最近看見這篇文章也不錯,原理相似:將項目同時托管到Github和Git@OSC
有興趣的可以看看

參考文章

IDEA/Git 設置多個push遠程倉庫或者同時提交多個push倉庫



來自於: http://my.oschina.net/shede333/blog/299032

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM