我有 2 个裸存储库。它们是这样制作的:
ssh git@primary.com
git init --bare repo1
ssh git@backup.com
git clone --bare git@primary.com:repo1
一个用于开发(我们称之为primary),一个用于备份(以防第一个无法访问)。是否可以自动同步它们 - 就像git pull
备份一样。
我猜你不能合并或拉入裸存储库。是否有另一种方法可以使备份存储库保持最新状态,而不是这样:
ssh git@backup.com
rm repo1 -fr
git clone -- bare git@primary.com:repo1
当然,当一段时间无法访问主节点并且我使用备份时,我会想要更新主节点。
将 2 个遥控器添加到工作存储库也是一种解决方案,但是您必须不断地推送它们,如果其中一个无法访问,则不会发生这种情况。
所有冲突都在非裸存储库中解决
编辑为什么我需要备份存储库:
我们使用远程存储库来交换代码,并且每天都需要它。通常人们不需要其他开发人员编写的代码,但情况并非总是如此。我们与primary失去了3天的联系,发展并不容易。我在另一台服务器上创建了第二个存储库并克隆了本地,但我必须为很多项目这样做,而且很耗时。我更喜欢自动更新第二个存储库。