我正在尝试为多个功能同时进行测试并且至少其中一个功能未被利益相关者注销的方案提出一个良好的分支合并策略。我希望在SCM操作和重新测试方面尽可能少地将已签名的更改推送到生产中。
我正在使用CVS(我无法改变这一点),但问题是SCM技术在某种程度上是不可知的。
想象一下,在任何给定时间,在共同基线上开发了多个功能。他们都在自己的分支机构中孤立地工作。在某个阶段,构建被推送以测试来自包含所有已完成/已测试并合并回到主干更改的主干的环境。假设总共合并了5个分支机构,其中一个分支机构不足以通过测试,或者由于某种原因没有被业务部门注销。
如果有一个类似'unmerge'操作的银弹,那将是完美的,但据我所知,没有。
我的另一个想法是不是将所有更改合并到主干,而是将一个单独的分支合并到主干上,并将该分支推送到测试服务器。如果由于任何原因撤回某些更改,则需要从主干中分支新分支并合并所有撤消的更改。一旦接受了所有更改,此临时分支就可以合并到主干。
我想知道这不是一个矫枉过正的事。
还有其他想法吗?
答案 0 :(得分:0)
虽然这并没有真正回答您提出的问题,但您可能需要查看功能切换和“按抽象分支”的概念,如持续交付中所述。这些是允许迭代主线/主干开发的几个核心概念。