如何将提交从一个分支复制到另一个分支?

all*_*tom 2 mercurial

我有一个分支,里面有一些修改.我想尝试进行一些代码更改,需要重新排序并使用histedit修补这些提交,但我想保留原始分支,以防它不顺利.我怎样才能做到这一点?

之前:

master -> change 1 -> change 2 (branch A)
Run Code Online (Sandbox Code Playgroud)

后:

master -> change 1 -> change 2 (branch A)
       -> change 1 -> change 2 (branch B)
Run Code Online (Sandbox Code Playgroud)

pla*_*ker 5

从一个分支复制或挑选提交的集成和推荐方法是使用

hg graft -r XX YY ZZ.

其中XX YY ZZ等是复制到您当前签出的分支的修订版.默认情况下,它们已提交,但您也可以使用该--no-commit标志以便编辑更改.或者逐个进行并使用添加hg commit --amend.

与导出和导入相比,它具有使用已配置的合并程序的额外好处,如果需要合并 - 但它不是合并,因此从当前提交到您复制的那个提交不会建立祖先行.