我正在寻找一种在(2)服务器之间自动同步Git存储库的方法,以便它们可以从第三点进行互换。
情况如下: 我们在所有项目中大量使用git,并且一些存储库的大小增长很快。目前我们有一个中央服务器,每个人都在推/拉这个/从这个。然而,这一切都通过互联网连接,因此不是最快的方式。
理念: 将另一台服务器放在办公室,并将所有git存储库放在那里供办公室使用。该服务器需要与在线服务器同步。 用户甚至不会通过某些dns调整知道他们使用哪一个,因此当连接到那里的网络时,在线服务器存储库的地址会解析为内部服务器存储库。
有人在那里做过类似的事吗?或者是否有更简单的方法来实现目标。
答案 0 :(得分:4)
我会看到使用SSH protocol轻松完成这样的机制(意味着像gitolite这样的框架在LAN repo和WAN http repo上都已到位),因为这样你就可以轻松扩展ssh forced command 机制:
使用 hooks 执行此操作会更复杂,需要仔细设置每种服务器端挂钩,以便始终保持同步机制。< / p>
答案 1 :(得分:0)
Gitolite有一个镜像存储库的功能。您可以将办公室中的那个设置为主设备,将在线设备设置为从设备,并允许推送到任一个。