合并功能分支以释放分支而不是主干

时间:2010-02-27 12:40:48

标签: version-control merge feature-branch

我对两个源控件方案有疑问,包括功能分支和发布分支:

  • 在方案1中,功能分支将合并到主干。
  • 在方案2中,功能分支合并到最新版本分支。

与方案1相比,方案2的后果是什么?

两种情况可能有哪些优点和缺点?


两种情景的更多细节:

  • 所有开发都在功能分支中完成
  • 分支始终从主干
  • 完成

场景1(类似于this SO-answer中描述的内容):

  • 功能分支始终合并到主干
  • 从主干创建新版本分支,准备新版本时
  • 在QA和从发布分支部署之后,发布分支中的更改/错误修正将合并到主干和更新的发布分支
  • 对主干的更改将合并到所有功能分支

情景2:

  • 功能分支始终合并到最新版本分支
  • 从主干创建新版本分支,当当前版本分支不再接受新功能并准备最终版本时
  • 在QA和从发布分支部署之后,发布分支中的更改/错误修正将合并到 trunk
  • 对主干的更改将合并到所有功能分支和最新版本分支

1 个答案:

答案 0 :(得分:1)

由于分支完全是关于隔离(请参阅“When should you branch),因此两种方案之间的区别在于您希望主分支trunk具有的角​​色

  • 场景2更适合静态角色trunk将代表生产中的内容(以及需要合并回来的偶尔热修复)当前功能和下一个发布分支)

  • 场景1更适合动态角色trunk是各种功能的集成,从那里发布版本分支以合并实际上将成为其中一部分的功能下一个版本。