Mercurial - “hg graft”与自定义目的地?

问题描述 投票:2回答:2

有没有办法将提交移植到除当前版本之外的某个地方?

文档使它听起来像没有:

hg graft [OPTION] ... [-r REV] ...... REV ......

从其他位置复制提交

而且我没有看到任何可以传递给hg graft的参数。虽然hg rebase允许使用-d旗帜,但我很惊讶,但hg graft没有。就像我有时想要将分支重新绑定到当前版本以外的某个地方一样,有时我想将分支移植到除当前版本之外的某个地方。

mercurial rebase cherry-pick
2个回答
1
投票

您可以使用rebase扩展来实现此目的。 hg rebase -r <rev> -d <dest> --keep在保持旧转速的同时重新加注。


1
投票

从根本上说,答案是“不”,但你仍然可以得到预期的效果。

graft的帮助文本说“将其他分支的更改复制到当前分支”,这意味着如果您首先更新到目标变更集,则可以获得所需的结果。

大概你想要使用移植来制作一个实际的副本,而不是使用“移动”变更集的rebase。所以这将获得该结果,尽管它需要几个步骤。

总结一下:

hg up <destination revision>
hg graft <source revision>
hg up tip
© www.soinside.com 2019 - 2024. All rights reserved.