2016-03-02 188 views
2

我有Network ANetwork B
StashA上運行,GitlabB上運行,但它們不能通過網絡進行通信。同步2個遠程Git倉庫

1組開發者積極致力於A,另一組開發者積極致力於B。 我有一臺機器可以看到兩者。

所以,每天我希望能拉的所有更新,分支和標籤從A和推B,相反我想拉的所有更新,分支和標籤從B和推A

我從A克隆,並增加了additionl遠程 git remote add networkb [email protected]<ip-address>:group/project.git

所以現在我有git remote -v

networkb [email protected]<networkb-ip-address>:group/project.git (fetch) 
networkb [email protected]<networkb-ip-address>:group/project.git (push) 
origin [email protected]<networka-ip-address>:group/project.git (fetch) 
origin [email protected]<networka-ip-address>:group/project.git (push) 
  1. git push networkb --all僅適用於本地簽出的分支。
  2. git push networkb '*:*'推一切B但我不能看到樹枝當從
  3. git push networkb +refs/remtes/origin/*:refs/heads/*結賬工作了初始推力,但是會導致力推如果再次運行。

任何人都可以提供一系列步驟來保持這兩個遠程存儲庫同步嗎?

+1

你打算如何解決合併衝突? – merlin2011

+0

您可以簡單地編寫一個腳本shell,它將更新您的所有回購,因爲您已將它們作爲遙控器使用。 'git fetch --all --prune'會更新你所有的版本庫 – CodeWizard

+0

@ merlin2011我將不得不在我的筆記本電腦上解決合併衝突,我想在同步時。 – eamon316

回答

1

內,您的臨時存儲,您可以分支對原籍使用列表中:

git for-each-ref --format="%(refname:short)" refs/remotes/origin 

(其他城市originnetworkb來獲得網絡B分支機構)。


您可以通過此列表迭代要麼一味推到網絡B,
或嘗試首先運行合併,看看是否有衝突是會發生,
或創建networkanetworka/branchesnetworkb和和networkb/branches