更改合并所在的分支而不重做合并?

时间:2015-01-05 22:38:04

标签: merge mercurial

如果某人已将分支B合并到分支A中,但意味着将A合并到B中(以便提交将在分支B上),是否有一种方法可用于获取该合并(以及所有它的后代)进入分支B?除了重做合并,这是相当多的工作。

2 个答案:

答案 0 :(得分:1)

以下方法应该可以解决您的问题,但实际上并不是“干净”。

  1. 更新到分支B(在合并之前)。
  2. 与分支A开始新的合并。为避免任何交互,您可以使用&#; hg merge --tool internal:local'。实际合并并不重要,因为您将使用之前合并的结果。
  3. 恢复到之前的合并:hg revert --all -r OLD_MERGE_CHANGESET
  4. 提交合并。
  5. 使用&#;; hg rebase'将所有后续提交移到正确的分支之上。

答案 1 :(得分:0)

假设您刚刚提交了合并,或者如果没有,那么合并变更集1.没有子节点且2.是您工作目录的父节点,那么:

hg branch B --force
hg commit --amend