我们有许多发布和自定义分支。当发生错误修复时,必须跨多个分支传播。
我有几个相关的问题:
- 谁决定(哪个角色)在哪里传播错误修复
- 谁控制(哪个角色)bug修复传播
- 在哪里修复错误-在主干/默认或在选定的分支?
- 是需要由bug修复开发人员在所有分支上测试bug修复,还是只在原始分支上测试,然后通过另一个分支测试给QA团队? 谁传播bug修复-最初的bug修复创建者或分配单独的人(哪个角色)?
DVCS方面有点不同,因为合并与发布(拉/推)是正交的。
这意味着你需要区分:
- 分支间传播(合并)
- repo之间的传播(拉/推公共分支,即要在repo之间复制的分支)
一旦你确定了这些分支,一个bug修复提升应该由开发人员发起,从他/她的bug修复分支到公共开发分支,然后发布。
错误修复本身应该在一个专门的分支中修复。
你可以设置一个有保护的提交原则,发布到一个Q/a仓库,它将通过测试,如果失败则拒绝提交。
请参阅"您所见过的最聪明的源存储库使用方法是什么?",以获得预测试提交或私有构建的示例。