如何删除mercurial中的嫁接信息?

How to remove graft information in mercurial?

我看到在使用嫁接功能时,"source" 嫁接修订显示在 TortoiseHg 中,连同其他变更集信息(用户、日期、父级等)。它并不总是有用,因为源提交可能只存在于本地分支中,或者已被剥离。

是否可以删除此信息(提交应该看起来像应用补丁后的情况)?

源节点被添加到嫁接节点的元数据中,并且将成为散列的一部分。您可以 hg export 节点(不包括嫁接信息),hg strip 原始节点,然后再次 hg import

据我所知,所有从提交中删除嫁接信息的方法都涉及重新创建提交。 可以正常工作。

另一种在某些情况下可能更简单的方法是 再次移植它(甚至从移植提交本身开始,到前任)但使用不同的选项:

前 2 个复选框(使用我的名字和当前日期)将使它看起来像是您刚刚所做的正常提交,而省略第三个复选框将省略任何其他嫁接细节。

通常需要注意的是,如果您已经推送了一个提交,您通常不能以任何方式删除或更改它。 (没有很多麻烦)。