2011-08-03 81 views
5

我們使用git進行多站點項目,並且回購和團隊都大幅增長。因此,遠程站點正在受苦。我想向遠程站點添加新的git服務器,以減輕我們git服務器的負載,並加快下載速度。但是我不確定如何保持這些同步。有沒有辦法自動複製git服務器?如果沒有其他建議?git服務器複製

回答

3

你可以有一個主要的「寫」回購,和多個遠程,只讀,回購拉。反過來,遠程用戶也會從中脫穎而出。這會讓您從遠程站點獲得更高的下載速度。上傳仍然是一樣的,但似乎下載速度是您最關心的問題。

+0

我在想同樣的事情。但是,如何避免提交不符合從不是最新的只讀服務器拉取的情況?在我看來,這可能會導致一些問題(合併/爭用等)。 –

+2

推送失敗,用戶必須重新提取併合並或重新綁定並重試。鼓勵良好,乾淨,頻繁的提交,這對你來說永遠不會成爲問題。如果每個人都從上午拉一整天開始工作,並且做了最後的「回家時間」提交,並且當哨聲響起時它們全部推向正確的位置,但是在那裏產生的爭用和額外的工作僅僅是症狀。 :) – Dustin

+1

如果您從_central_ repo中將其拉出並且某人在拉出後進行了提交,則可能會出現同樣的問題。你可以很容易地設置一個hook或者cron來確保_satellite_ repos永遠不會超過我實際上原子上的_central_ repo – Andy

1

你不能自動複製。我有點希望那不是你的意思。

我寫了gitmirror用於在存儲庫更改時自動觸發遠程基於拉取的複製。它需要一點點的設置,但我有很多東西通過github進入它(和一些不使用github)。

+0

之後幾分鐘。不過,gitmirror可能會解決我鏡像問題的其他部分。 –

+0

在很多移動部件的全球分佈式系統中,原子相當不兼容。這也是不可取的。分佈式版本控制系統的目的是允許這些類型的東西即使在根本沒有連接的情況下也能正常工作。 – Dustin