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

做者:shede333
主頁:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847
版權聲明:原創文章,版權聲明:自由轉載-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][]ios


前提

通常來講,咱們爲git增長遠程庫,通常都是
git remote add origin <url> ( 你可使用真實的地址來代替 <url> )git

可是你可能想要把你的本地的git庫,既push到github上,又push到開源中國的Git@OSC上,怎麼解決呢。
有人可能會用兩個甚至多個遠程庫,即再添加一個遠程庫git remote add origin2;
這個方法很低效,由於你要git push 兩次才能完成push到兩個庫。github

其實還有一個方法,git的一個遠程庫 能夠對應多個地址,即我能讓 遠程庫origin擁有多個url地址。 方法以下:fetch

使用流程

首先,咱們從零開始, 假設你如今想要增長3個遠程庫地址,分別爲 :url

<url1> https://git.oschina.net/shede333/swioslibary.git
<url2> https://git.oschina.net/shede333/swscrollbar.git
<url3> https://github.com/shede333/CoreAnimationTestSW.git.net

首先,先增長第一個地址 git remote add origin <url1>
而後增長第二個地址 git remote set-url --add origin <url2>
增長第三個地址 git remote set-url --add origin <url3>
....依次類推code

這樣就完成了添加多個地址到origin庫中了, 之後只要使用git push origin master 就能夠一次性push到3各庫裏面了(使用git push也可)blog

原理解析

git remote set-url --add origin 就是往當前git項目的__config文件__裏增長一行記錄
__config文件__打開方式有兩種:rem

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

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

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倉庫

相關文章
相關標籤/搜索