在之前的工作中,我发现通过让每个开发人员在他/她自己的分支上工作,更容易管理和保持稳定的预发布分支(或主分支,取决于设置)。我们只有一个生产实例,因此无需支持同一应用程序的多个版本。
这个“预发布”分支之所以这样命名,是因为我们可以从另一个分支(主分支)进行登台和生产发布。分支的设置使得只有来自预发布分支的代码可以合并到发布分支中。这些合并是我们的代码审查检查点。CI 构建也是从这个预发布分支构建的,每个开发人员都可以在完成该工作主体的开发时从“预发布”合并到他们自己的分支以缓解复杂的合并问题。
如果开发人员需要将一个给定的功能配对并一起工作,那么除了他们自己的分支权限之外,没有什么可以阻止他们与其他人一起工作。这对于管理分布式团队非常有效,其中每个团队中的个人都在处理单独/多个功能。
在频繁(每周 1-2 次)30 分钟状态更新会议的帮助下,作为一个团队,我们将决定哪些内容将进入 QA,哪些内容不用于特定的 QA 版本。
该系统有效,但在搜索此主题时,我发现开发人员分支有很多不满。似乎对 git 的本地存储库功能有很多热情。然而,似乎它们只是解决相同问题的不同方式。不考虑本地存储库解决的跨网络问题,例如签入延迟等。