【发布时间】:2013-06-11 21:28:59
【问题描述】:
我正在尝试将部分提交从默认分支(不是所有文件和其他文件的一部分)合并到命名分支。我试过graft,但它只需要整个提交,而没有给我选择的机会。这将如何实现?
例子:
A---B---C---D
\
-E---(G)
G 尚不存在。假设C 和D 分别添加了5 个文件并修改了5 个文件。我希望G 将 5 个文件中的 2 个添加到 C,对其中一个文件的所有修改和对另一个文件的一个修改。理想情况下,我希望它也有来自D 的类似内容。
当我选择graft to local... 时,我得到的只是整个C 变更集。 merge with local...也一样
【问题讨论】:
-
据我所知,Mercurial 本身不支持这种选择性合并。您可以做的是执行正常的合并,然后还原您不想合并的文件,并对您想要部分合并的文件进行手动更改。最后,提交合并。
-
@voithos 这是从一个分支到另一个分支修复错误的标准方法吗?我认为这将是一个常见且受支持的场景,不是吗?
-
这不是标准的,甚至不推荐。当然,最佳实践要求错误修复应该是它自己的变更集,因此您不必挑选单个文件。如果是这样,您可以使用嫁接(或者只是合并,如果您在默认分支中只有错误修复)。
标签: merge mercurial tortoisehg