有没有办法将提交移植到除当前版本之外的某个地方?
文档使它听起来像没有:
hg graft [OPTION] ... [-r REV] ...... REV ......
从其他位置复制提交
而且我没有看到任何可以传递给hg graft
的参数。虽然hg rebase
允许使用-d
旗帜,但我很惊讶,但hg graft
没有。就像我有时想要将分支重新绑定到当前版本以外的某个地方一样,有时我想将分支移植到除当前版本之外的某个地方。
您可以使用rebase扩展来实现此目的。 hg rebase -r <rev> -d <dest> --keep
在保持旧转速的同时重新加注。
从根本上说,答案是“不”,但你仍然可以得到预期的效果。
graft
的帮助文本说“将其他分支的更改复制到当前分支”,这意味着如果您首先更新到目标变更集,则可以获得所需的结果。
大概你想要使用移植来制作一个实际的副本,而不是使用“移动”变更集的rebase。所以这将获得该结果,尽管它需要几个步骤。
总结一下:
hg up <destination revision>
hg graft <source revision>
hg up tip