我正在尋找一種方法來自動同步(鏡像)2個git git服務器上的一個回購。 不幸的是,我不能有一個服務器出於權限的原因。Git sync multiple masters
人們應該能夠將更改(和分支)推送到其中一個服務器,並且這些更改應該自動在另一個服務器上進行復制。
任何想法如何做到這一點?
非常感謝
我正在尋找一種方法來自動同步(鏡像)2個git git服務器上的一個回購。 不幸的是,我不能有一個服務器出於權限的原因。Git sync multiple masters
人們應該能夠將更改(和分支)推送到其中一個服務器,並且這些更改應該自動在另一個服務器上進行復制。
任何想法如何做到這一點?
非常感謝
這在「複製Git存儲庫」的標題下很好地解釋了。取自github article:
如果您想在另一位置鏡像存儲庫(包括從原始位置獲取更新),則可以克隆鏡像並定期推送更改。
# Make a bare mirrored clone of the repository
git clone --mirror https://github.com/exampleuser/repository-to-mirror.git
# Set the push location to your mirror
cd repository-to-mirror.git
git remote set-url --push origin https://github.com/exampleuser/mirrored
一個鏡像克隆包括所有遠程分支和標籤,但是所有的本地引用會在您每次提取時間覆蓋,所以它永遠是一樣的原始資料庫。設置推送URL可簡化推送到您的鏡像。要更新鏡像,請獲取更新和推送,這可以通過運行cron作業來自動執行。
git fetch -p origin
git push --mirror
如果要通過代碼或Ruby腳本來自動執行此,您可以使用Git Duplicator紅寶石寶石做得一樣好。
對於你有一個像Jenkins一些部署系統。在那裏你可以添加你的服務器,並將命令放在alle服務器上運行。
你可以安裝一些用於SSH的Jenkins插件,或者使用諸如Chef/Puppet或Capistrano之類的東西。有一些工具。
嗨,謝謝你的迴應。 你會在你的Jenkins服務器上運行哪些git命令以確保存儲庫保持同步? – 2014-10-20 10:52:48
可能的重複:http://stackoverflow.com/questions/14288288/gitlab-repository-mirroring – 2014-10-21 12:19:49