2012-09-04 42 views
1

我有幾臺計算機的本地網絡,每臺計算機都有一個具有相同代碼的本地Git存儲庫,並且有不同的開發人員正在使用它們。 我想找到一種方法,使每個本地存儲庫中的更改與其他所有存儲庫中的更改同步,而無需集中式服務器。 (如果您有興趣,這是因爲任何計算機都可以 - 並且經常會 - - 突然出現磁盤故障,通常會導致其上的所有數據丟失,因此我無法負擔得起單點故障)。如何設置全網格拓撲的Git源代碼控制?

我見過幾個工作流可能性的例子,但他們都需要安裝程序才能擁有固定的遠程系統。

我想知道的是:
我怎樣才能在full mesh topology建立了一套能夠在網絡中的所有其他計算機的同步庫庫的,作爲?

然後我將如何添加/刪除計算機到此存儲庫網絡?

回答

0

共享資源庫非常簡單。只需在每個開發人員的系統上建立一個公共存儲庫。

要自動同步到所有人,您可能必須編寫某種shell腳本來執行存儲在回購本身中的推送。要添加計算機,只需在腳本中添加git push new-computer即可。

但是,集中式服務器不是DVCS的「單點故障」。如果發生故障,您只需從其他人的回購協作,直到它恢復正常。您添加了很多複雜性以避免相對較少的事情發生,這些事情相當容易解決。

0

使用中央服務器。如果中央服務器上的磁盤發生故障,則不會丟失所有數據。如果他沒有使用集中式服務器,每個開發人員都會擁有完全相同的存儲庫副本。要恢復,您的開發人員可以提名新的中央服務器並推送到該服務器。