持续集成时最佳的分支策略是什么?

105

在进行持续集成时,什么是最好的分支策略呢?

  1. 发布分支: 在主干上开发,为每个发布版本保留一个分支。
  2. 特性分支: 在单独的分支中开发每个特性,在稳定后再合并。

在相同的项目中同时使用这两种策略是否有意义呢?比如说,你可以为每个发布版本和大型特性创建分支。这两者之间哪一种策略更适合持续集成?在使用不稳定的主干时,使用持续集成是否有意义呢?


2
旁注:有些人会认为即使加入了新功能,一切都应该始终保持稳定。另一方面,这可能有点理想化。 - Keith Pinson
12个回答

0
我认为你想要有一个有限的分支集来进行关注。由于你想要测试、代码质量指标和许多有趣的东西与构建一起运行,拥有太多的报告可能会使你错过信息。
何时以及何种方式进行分支通常取决于团队的规模和正在开发的功能的大小。我认为没有黄金法则。确保你使用一种策略,在这种策略中你可以尽早/经常获得反馈,并且包括从功能的最开始就涉及到质量。质量方面意味着,当团队开发自动化时,如果你为团队正在构建的大型功能集创建分支,你也必须在团队中涉及到质量。
附:你从哪里得到这些方法参考?感觉这些图表并不能代表所有选项。
更新1:扩展我为什么说这不是黄金法则的原因。基本上对于相对较小的团队,我发现最好使用混合方法。如果某个功能很长,而团队的一部分将继续添加较小的功能,则创建功能分支。

它还有一些其他的内容。但我觉得特性分支和发布分支是最常见的两种。 - KingNestor

-3

我认为你使用的工具在这里是一个重要因素。

  • 如果你正在使用Subversion,那么坚持选项1并从分支中发布。
  • 如果你正在使用GIT,那么选项2对你来说将很有效。

2
使用任何源代码管理工具,都可以轻松实现特性分支。 - hdost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接