2010-08-31 68 views

回答

6

main reason why you branch将隔离开发工作。

所以这真的取决于你认为最重要的是要隔离:

  • 一个给定版本(这将是促进步中隔离提交:测试,集成或督促/修补程序)促销努力
  • (包括单元测试,整合,生产阶段)

代码升级允许每个版本的并行升级努力(您在开发n + 2时测试n + 1并维护N)。
虽然Branch per Release允许更简单更顺序的开发周期,但您在开发n + 1时主要测试和维护n。

无论选择的策略是,你需要解决n和之间的同步步骤N + 1(是什么,你什么时候合并变阵从N至N + 1):

  • 随着代码推广您可以在不同的步骤合并
  • 对于每个版本的分支,您通常只从一个版本合并到另一个版本的当前开发状态​​。

所以基本上,代码升级策略意味着更多的分支机构,更多的合并和更精确的历史被保存和孤立在这些分支机构。
但它意味着更多的环境来设置和管理。

Branch Per Release更直截了当(前提是您能够知道您正在处理的内容将最终成为下一个版本的一部分)。

+0

在每个发布场景的分支中,什么能够防止您在测试n + 1和维护n时开发n + 2? – vlfig 2012-12-04 22:58:48

+0

@vlf nothing:在代码升级中它只是更详细(即“更多分支”),因为您将代码从功能分支提升到集成分支,以便为给定版本'n'释放分支。 – VonC 2012-12-05 06:51:32

+1

Sooo,当你说“代码升级允许每个版本的并行升级工作”时,你会受到不必要的限制(两者都允许),并且当你说“Branch per Release允许更简单的更顺序的开发周期时,你主要测试和在开发n + 1时维护n“你意味着每个版本的分支不允许在两个以上的分支上进行活动,这显然是不真实的。 – vlfig 2012-12-06 23:19:45