分支之间的Mercurial合并变更集为所有祖先提供了它

时间:2014-07-09 10:33:22

标签: merge mercurial tortoisehg

我在分支之间合并更改时遇到问题。

我有默认分支default

当我开始在新问题下工作时,我会从default创建#565之类的新分支并使用它。工作之后我将#565的代码更改合并到default中 - 效果很好。

我也有分支anotherbranch - 这就像生产分支一样,如果在default上进行了测试,我们可以在那里合并。

有时我需要将代码更改从#565合并到anotherbranch。当我尝试这样做时,Mercurial让我在#565和anotherbranch之间合并所有代码更改(因为#565是default的孩子)。

如何才能合并#565的代码更改?

3 个答案:

答案 0 :(得分:4)

有人建议使用移植命令,这可能是你最终会使用的,但让我退后一步,并建议如果你稍微改进你的过程,这个问题就会消失。

一般情况下,如果您修复了从anotherbranch分支的新分支中的错误,并在default的分支中添加新功能,那么您将拥有两全其美的优势。修复“生产”分支中的错误,然后立即将名为anotherbranch的生产分支合并回default

这是通常的过程,确保错误修复无处不在,但新功能在获得良好测试之前不会生产​​。

答案 1 :(得分:0)

我认为您需要的是graft command("将其他分支的更改复制到当前分支")。

答案 2 :(得分:0)

正如Ry4an建议的那样,解决此问题的最佳方法是修改工作流程。您可能还需要考虑使用mq extension来创建补丁。修补程序是仅将某些更改应用于存储库的好方法,特别是如果您还没有为完全合并做好准备。