在之前的工作中,我发现通过让每个开发人员在他/她自己的分支上工作,我更容易管理并保持稳定的预发布分支(或主分支,取决于设置)。我们只有一个生产实例,因此不需要支持相同应用程序的多个版本。git的“local-repository”概念与“开发者分支”有何不同?
这个“预发行”分支是这样命名的,因为还有另一个分支(主分支),我们将从那里分发我们的分期和发行版本。分支机构的设置使得只有来自预发布分支的代码可以合并到发布分支中。这些合并是我们的代码审查检查点。 CI构建也是由这个预发布分支完成的,每个开发人员都可以从“预发布”到他们自己的分支进行合并,然后在该工作组的开发完成时将其迁移到复杂的合并问题。
如果开发人员需要将某个特定功能配对并一起工作,那么除了他们自己的分支权限之外,他们无法与其他人一起工作。这对于管理分布式团队很有效,每个团队中的个人都在独立/多个功能上工作。
在频繁(每周1-2次)的30分钟状态更新会议的帮助下,我们作为一个团队将决定进入QA的内容以及哪些内容不适用于特定的QA版本。
这个系统很有用,但是在搜索这个主题时,我发现很多开发者分支的不满。似乎git的本地存储库功能有很多热情。但是,它们似乎是解决同样问题的不同方式。不考虑本地存储库解决的跨网络问题,例如检查延迟等。
感谢您的详细解释。很显然,我了解DVCS中的分布式概念有很多。 – 2011-04-29 04:51:42