2012-10-18 54 views
65

我有一個存儲庫,我想推入Bitbucket和GitHub。 這對我的資源庫由兩者託管至關重要。如何在一個項目中同時使用Bitbucket和GitHub?

有沒有辦法在Git中做到這一點?

+3

這似乎很有用。尤其是當一個存儲庫關閉時。目前bitbucket已經關閉,我基本上無法完成我的工作。 – imranal

回答

82

您可以使用多個遠程存儲庫與git。但是你必須單獨推動我的兩個遙控器。

例如,如果你的項目目前指向github上,您可以將當前的遠程存儲庫重命名爲github

$ git remote rename origin github 

然後,您可以添加其他遠程倉庫,說bitbucket

$ git remote add bitbucket [email protected]:your_user/your_repo.git 

現在爲了將更改推送到github或bitbucket上的相應分支,您可以這樣做:

$ git push github HEAD 
$ git push bitbucket HEAD 

規則同樣適用於拉:你需要指定你想從拉其遠程:

$ git pull github your_branch 
$ git pull bitbucket your_branch 
25

是的,你可以做到這一點。您不必兩次推送,而只需推送一次即可推送到兩個遠程存儲庫。 我之前有過同樣的問題,所以在這裏寫了如何做到這一點。 Git: Push to/Pull from Both Github and Bitbucket

+1

好帖子!如果可以的話,在這裏包括一個夏季會很好。 – OneHoopyFrood

17

有幾個EASY解決方案。

多個遙控器推(和獲取)獨立

這是最容易讓你的頭部周圍,但最努力保持。直截了當沒有

$ cd myproject 
$ git remote add bitbucket ssh://[email protected]/user/myproject.git 
$ git push bitbucket master 

我們開始了加入我們的新的遠程?除了我們每次提交任何修改時間的過程中,我們需要推動我們雙方原有的「原產地」和我們的新的遠程「到位桶」:

$ git push origin master 
$ git push bitbucket master 

不是一個巨大的開銷,但我敢肯定它會在蓖時間。或者你可以創建一個別名gpob =「git push origin master」& & git push bitbucket master「。

有多個URL單遠程推送(和獲取)連續

使用這種方法,我們將額外的網址添加到我們現有的遠程「原點」:

$ cd myproject 
$ git remote set-url --add origin ssh://[email protected]/user/myproject.git 
$ git push origin master 
Everything up-to-date 
Everything up-to-date 

少得多努力!

當然銀色襯裏有一層雲,在這種情況下,雖然我們可以同時推送到多個網址,但我們只能從原始的「原點」獲取(您可以更改這個,但是這已經超出了這篇文章的範圍)。

最後,看看哪個遠程將從中獲取:

$ git remote -v show 

blogged about it爲好。

相關問題