1

我注意到我的团队中有一个(n)(反)模式:

我们决定实现一个特性,所以我们(svn)分支。在实现该功能时,我们会进行重构,如果它们可以立即合并回主干,这将使每个人都受益。我们等到我们完成了分支,然后将它与主干重新集成,每个人都获得了功能 + 重构。

现在有趣的是,重构通常比启动它们的功能具有更高(和即时)的价值,所以如果我能以某种方式立即将它们放入后备箱并且不要等到分支完成并重新集成。

据我所知,您不应该将分支与主干“合并”,但您反过来(经常将主干与分支合并)直到分支完成,然后您将分支“重新整合”回来树干。如果您以错误的方式(将分支与主干合并),那么您会搞砸(合并信息和其他东西),到时候,您会陷入各种邪恶,并且无法顺利重新整合。

想法?

4

1 回答 1

1

有可能的。它甚至还有一个名字——cherrypicking。实际上,只要允许避免分支合并时的“大爆炸”,就鼓励采摘。此外,如果您确实沿同一方向合并(在您的情况下从分支到主干),它会简化重新集成。Subversion 会记住之前使用 mergeinfo 合并的内容,并排除包含在之前合并中的提交。它对应于模式Merge Early, Merge Always

原理如图所示:

在此处输入图像描述

与您的情况不同的是,您需要在其他方向合并,但源分支和目标分支是什么并不重要。

因此,不要害怕将重构合并到主干中。实际上,它甚至会在未来简化分支重新集成。

于 2012-01-11T12:27:51.953 回答