2013-03-18 221 views
0

我正在尋找同步多個遠程副本的裸副本的git存儲庫,例如,如果開發人員添加或更新了一個遠程分支,這些更改也會使其與其他遠程同步。舉個例子:同步遠程存儲庫

開發人員A將新分支「test-dev」推送到它們的原點。開發人員B(我)從我的「本地」遠程設備(取決於開發人員A的起源)獲取所有內容,並且git通知我新的測試開發分支。要手動獲取測試開發推到我的「網絡」遙控器,我可以退房的分支,然後按下它,或者我可以傳遞的Refspec當我打電話的git:

git push network local/test-dev:refs/heads/test-dev 

測試-Dev分支現在顯示出來,當有人從遠程我拉來/取/克隆我稱之爲「網絡」。一小時後,開發人員A將一些重要更改推送到test-dev。然後,我可以獲取併合並(或只是拉)更改,然後將更新後的更改推送到網絡,就像我之前做的一樣,通過檢出更改或使用refspec。

有什麼辦法可以使這個過程自動化嗎?一旦一個新的分支出現,或者對現有分支進行了更改,我想要一些簡單的命令從指定的遠程獲取這些新信息,然後使用第二個命令將其推送到所有其他遙控器。如果它必須腳本化,那就這樣吧,但是我希望有一些參數可以傳遞給我現在看不到的git命令。

回答

1

有什麼辦法可以自動化這個過程嗎?

是的,這是Git的一個功能hooks

您應該閱讀鏈接到此處的頁面以獲得對它們的感受,並且我會告訴您,您希望在要使用的服務器上實現post-receive掛鉤作爲其他規範的引用。如果人們可以推送到多個服務器,那麼你也需要在這些服務器上實現鉤子。

+0

啊,愚蠢的時刻。我之前使用過鉤子一次或兩次,所以我不確定爲什麼我沒有想到這一點。我將不得不確保爲此設置單獨的ssh密鑰,但是這應該工作得很好。謝謝! – Amazingant 2013-03-18 16:26:27

相關問題