跨多个站点管理git

跨多个站点管理git,git,version-control,repository,infrastructure,Git,Version Control,Repository,Infrastructure,我们的情况是,我们的组织位于几个地理位置 我想设置一个git中央服务器,这样每个分布式团队都可以将他们的更改推入其中,并与其他团队共享 我想知道做这样一件事的最佳选择是什么 目前我能想到的两个选择是: 为所有全球团队提供一台中央服务器 每个地理站点一台中央服务器。在服务器之间设置某种自动推送以保持同步 托管解决方案 虽然我们的组织AFAIK目前没有选择#3,但还有其他选择吗?最好的选择是什么 我假设已经有一些指导方针和最佳实践来解决这个问题。您真的需要多个“中央服务器”吗?为什么不让所有团队使用

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

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

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

目前我能想到的两个选择是:

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


    我假设已经有一些指导方针和最佳实践来解决这个问题。

    您真的需要多个“中央服务器”吗?为什么不让所有团队使用一个存储库呢。gits的大部分工作都是离线完成的,甚至需要与网络通信的部分也得到了优化。我认为只有一个中央存储库不会有问题

    您真的需要多个“中央服务器”吗?为什么不让所有团队使用一个存储库呢。gits的大部分工作都是离线完成的,甚至需要与网络通信的部分也得到了优化。我认为只有一个中央存储库不会有问题

    我的第一个反应是简单地设置一个github“组织”,并通过它管理您的组织的私有存储库。这有很多好处——包括备份正在处理的数据,让非常熟悉git的人管理基础设施,等等

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

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

    • 必须备份多台服务器以确保存储库的安全
    • 必须有流程来确保不同的存储库之间都有推/拉更改
    • 有些团队没有足够频繁地同步其区域存储库
    • 跟踪通过其他存储库中的提交引入的bug

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

    我的第一个反应是简单地设置一个github“组织”,并通过它管理您的组织的私有存储库。这有很多好处——包括备份正在处理的数据,让非常熟悉git的人管理基础设施,等等

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

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

    • 必须备份多台服务器以确保存储库的安全
    • 必须有流程来确保不同的存储库之间都有推/拉更改
    • 有些团队没有足够频繁地同步其区域存储库
    • 跟踪通过其他存储库中的提交引入的bug

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

    不排除这一点(这就是为什么它是我名单上的第一个)。我关心的是可能出现的性能问题,这就是为什么我要从以前实际做过这件事的人那里寻求智慧之言。这取决于代码的组织方式和存储库的大小。但是,我会首先在您的intranet上有一个单一的中央存储库,并允许每个人以分布式方式使用它。如果出现性能问题,我们可以重新考虑这个问题并尝试多个“服务器”。不排除这一点(这就是为什么它在我的列表中是1)。我关心的是可能出现的性能问题,这就是为什么我要从以前实际做过这件事的人那里寻求智慧之言。这取决于代码的组织方式和存储库的大小。但是,我会首先在您的intranet上有一个单一的中央存储库,并允许每个人以分布式方式使用它。如果出现性能问题,我们可以重新考虑这个问题并尝试使用多个“服务器”。虽然我还没有提出这个问题,但我确信我们的组织对将代码托管在某些外部服务上并不持开放态度。另一个缺点是所涉及的成本(免费/付费)。虽然我还没有提出这一点,但我确信我们的组织对将代码托管在某些外部服务上并不开放。另一个缺点是涉及的成本(免费/付费)。