跨多个站点管理 git



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

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

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

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

  1. 一个中央服务器适用于所有全球团队。
  2. 每个地理站点一台中央服务器。在服务器之间设置某种自动 PUSH 以保持同步。
  3. 托管解决方案。

虽然#3目前不是我们组织AFAIK的选择,但还有其他选择吗?什么是最好的选择?

我认为已经有一些指导方针和最佳实践来解决这个特定问题。

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

我的第一反应是简单地设置一个github"组织"并通过它管理你的组织私有仓库。有很多好处 - 包括备份正在处理的数据,让非常了解git的人管理基础设施等。

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

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

  • 必须备份多个服务器以确保存储库安全
  • 必须有流程来确保不同的存储库都相互推送/拉取更改。
  • 让一些团队没有足够频繁地同步他们的区域存储库。
  • 跟踪通过其他存储库中的提交引入的错误。

据我所知,拥有区域服务器也没有真正的好处。

最新更新