Mercurial-'hg graft`带有自定义目的地?

Mercurial-'hg graft`带有自定义目的地?,mercurial,rebase,cherry-pick,Mercurial,Rebase,Cherry Pick,有没有办法将提交移植到当前版本之外的其他地方 文档中似乎没有: hg移植物[选择]。。。[-r修订版]。。。修订 从其他位置复制提交 我看不到任何可以传递给hg-graft的参数。我很惊讶,hg-rebase允许使用-d标志进行此操作,但hg-graft不允许。就像有时我想将分支重设为当前版本以外的其他位置一样,有时我想将分支移植到当前版本以外的其他位置。您可以使用重设基础扩展来实现这一点。Dohg rebase-r-d--keep在保留旧版本的同时重新设置基础。从根本上说,答案是“否”,但仍然

有没有办法将提交移植到当前版本之外的其他地方

文档中似乎没有:

hg移植物[选择]。。。[-r修订版]。。。修订

从其他位置复制提交


我看不到任何可以传递给
hg-graft
的参数。我很惊讶,
hg-rebase
允许使用
-d
标志进行此操作,但
hg-graft
不允许。就像有时我想将分支重设为当前版本以外的其他位置一样,有时我想将分支移植到当前版本以外的其他位置。

您可以使用重设基础扩展来实现这一点。Do
hg rebase-r-d--keep
在保留旧版本的同时重新设置基础。

从根本上说,答案是“否”,但仍然可以获得所需的效果

graft
的帮助文本显示“将更改从其他分支复制到当前分支 这意味着,如果您首先更新目标变更集,就可以得到您想要的结果

大概您希望使用嫁接来制作实际的副本,而不是使用重新基线来“移动”变更集。因此,这将得到这个结果,尽管它需要几个步骤

总结如下:

hg up <destination revision>
hg graft <source revision>
hg up tip
hg up
汞移植物
压汞头

谢谢,这确实可以达到预期的最终效果。然而,我真的对一个不会让我在任何地方
hg-up
的解决方案感兴趣。这适用于我当前的结帐距离目的地很远的情况,我会浪费时间更新到目的地(如果我只想呆在原地,可能会回来)。@马克:是的,这些更新可能需要一段时间,这是肯定的!谢谢这看起来很棒。一个令人不快的问题是,在重新设置基础的过程中,书签仍然会被移动,但这可以很快修复。@Mark我不再理解你的问题,这似乎表明你想要的不是重新设置基础,你已经知道重新设置基础可以做到这一点。@DaveInCaz不,直到你的回答,我才意识到重新设置基础可以做到这一点。在我读了你的答案后,我查看了rebase手册页,发现了书签。@Mark收到了!谢谢