我们经营基于主干的开发。我们最新最好的代码不断地集成到我们的主干中,直到我们准备好将其 UAT 化。在那个阶段,我们从主干为 UAT 创建一个发布候选分支,并且新的开发继续在主干中进行。一旦这个候选版本通过了 UAT,它将被标记并发布到 Live,并从该标记创建一个维护分支,该分支将持续到下一个主要 (UAT'd) 版本。
问题是,如何处理错误修复的合并。如果在 UAT 期间在维护分支上修复了错误,则应将此代码修复合并到主干和候选发布版。如果在 UAT 期间修复了 UAT 错误,则应将此代码修复合并到主干。
我们都知道这一点,但有时会错过合并,并且我们遇到过在 Live 中修复的错误再次出现的情况,因为修复并未应用于所有必需的分支(主干和候选发布)。
我们现在已经开始在我们的提交评论(本质上是我们自己可怜的 mans 合并信息)中引用对其他分支的提交,以便跟踪这一点。
但是,我们有什么方法可以绝对确保所有对维护分支的提交都合并到主干和发布候选,并且所有对发布候选的提交都合并到主干?