4

我在一个小型开发办公室工作,有 7 名程序员,我们目前正在实施 Git 版本控制——我们之前没有版本控制系统。迟到总比不到好,对吧?

话虽如此,我们正在考虑实现以下结构:

开发服务器

  • 主存储库 - 开发的稳定版本
  • 开发人员存储库 - 开发存储库,每个开发人员一个

测试服务器

  • 主存储库 - 稳定的测试版本。修改从主开发存储库推送

生产服务器

  • 主存储库 - 修改从主测试存储库推送

这种结构合适还是我错过了分布式版本控制系统的要点?有人可以给我一些指示或实际例子吗?

编辑1:

伙计们,我感谢您的所有反馈 - 现在事情更清楚了。我知道像developer repos (local), development (bare) repo , testing repoproduction repo这样的结构将是一个更合乎逻辑的选择,我什至可以理解为什么有些人认为开发 repo是不必要的步骤。

我想我们会做一些测试,看看我们最喜欢哪种结构。谢谢

4

3 回答 3

4

这或多或少是关于它的。这些是您应该注意的事项:

  • 使开发服务器上的“主存储库”成为裸存储库
  • 开发人员不需要在服务器上拥有自己的存储库,但他们在自己的计算机上本地拥有主存储库的副本。
  • 每个开发人员都应该从主开发存储库中获取/合并并在推回之前解决冲突。
  • 不要推送到测试和生产服务器。从这些存储库中,分别从开发和测试服务器获取和合并。这是因为这些存储库不是裸露的,实际上可能有自己的提交。
  • 让一个人(或其中一位开发人员)负责从测试/生产服务器获取更改,将它们与当前的稳定合并并将它们推送到主存储库。这样,测试服务器中的错误修复将合并回开发中。
于 2012-07-20T10:17:01.633 回答
1

这是我的建议:

  • 在您的某些服务器上拥有一个裸存储库。这是每个人都会推/拉的回购;你不会在里面工作。您可以将其视为集中式 SCM 上的服务器。
  • 不需要开发服务器。每个开发人员都将在其本地计算机上拥有自己的存储库副本。
  • 测试服务器中,将有 repos 的副本。您通常不必推动它,因为您的所有工作都是在您的计算机上完成的。
  • 同样的事情也适用于生产服务器

关于您使用 Git 的方式,也就是工作流程,我建议使用我在此答案中解释过的基本方式。

于 2012-07-20T11:53:23.773 回答
0

开发服务器

主仓库 - 开发的稳定版本 开发者仓库 - 开发仓库,每个开发者一个

我不认为每个开发人员都需要在服务器上拥有自己的存储库。他们只需要将 repo 克隆到自己的计算机上。

Also, not all developers should have the access to push to main repo. Only the team lead should have push access to main repo

于 2012-07-20T12:23:55.503 回答