跨多个站点管理git

时间:2012-05-13 12:34:33

标签: git version-control repository infrastructure

我们的情景是我们的组织位于几个地理位置。

我想设置一个git中央服务器,这样每个分布式团队都可以将更改推送到其中并与其他团队共享。

我想知道做这种事情的最佳选择是什么。

我能想到的当前2个选项是:

  1. 所有全球团队的一个中央服务器。
  2. 每个地理站点的一个中央服务器。在服务器之间设置某种自动PUSH以保持同步。
  3. 托管解决方案。
  4. 虽然#3目前不是我们组织AFAIK的选项,但还有其他选择吗?什么是最好的选择?

    我认为已经有一些指导方针和最佳做法可以解决这一特定问题。

2 个答案:

答案 0 :(得分:3)

你真的需要多个“中央服务器”吗?为什么不让所有团队使用单个存储库。许多gits工作是离线完成的,甚至必须与网络通信的部分也得到了很好的优化。我不认为你只有一个中央存储库就会遇到麻烦。

答案 1 :(得分:1)

我的第一个回应是简单地设置一个github'组织'并通过它管理你的组织私有存储库。有很多好处 - 包括备份数据,让知道git的人非常好地管理基础设施等。

但如果公司由于某种原因无法做到这一点,我建议尽可能拥有一个单一的全球存储库。

然后,每个人都可以简单地克隆中央存储库并将更改拉/推更改。添加额外的存储库会增加复杂性和风险,例如:

  • 必须备份多个服务器以确保存储库是安全的
  • 必须拥有进程以确保不同的存储库全部推/拉相互更改。
  • 让一些团队经常不同步他们的区域存储库。
  • 跟踪通过其他存储库中的提交引入的错误。

据我所知,拥有区域服务器并没有什么好处。