跨多个站点管理git

fillum 发布于 2019-01-11 git 最后更新 2019-01-11 22:59 20 浏览

我们的情景是,我们的组织位于几个地理位置。 我想建立一个git中央服务器,这样每个分布式团队都可以将他们的更改推送到其中,并与其他团队共享。 我想知道做这种事情的最佳选择是什么。 目前我能想到的2个选项是:

  1. 适用于所有全球团队的中央服务器。
  2. 每个地理位置一台中央服务器。在服务器之间设置某种自动PUSH以保持同步。
  3. 托管解决方案。
虽然#3目前不是我们组织AFAIK的选择,那么还有其他的选择吗?什么是最好的选择? 我会假设已经有一些指导方针和最佳实践来解决这个问题。
已邀请:

kautem

赞同来自:

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

mest

赞同来自:

我的第一反应是简单地设置一个github'组织'并通过它管理你的组织私有存储库。有很多好处 - 包括备份正在处理的数据,让知道git的人非常好地管理基础设施等。 但如果公司由于某种原因不能这样做,我建议尽可能拥有一个单一的全局存储库。 然后,每个人都可以简单地克隆中央存储库并将更改拉/推更改。添加其他存储库会增加复杂性和风险,例如:

  • 必须备份多个服务器以确保存储库是安全的
  • 必须有进程来确保不同的存储库都相互推/拉变化。
  • 让一些团队经常不同步他们的区域存储库。
  • 跟踪通过其他存储库中的提交引入的错误。
据我所知,拥有区域服务器并没有什么好处。