我对主(也是唯一的)分支进行了一些更改(A)。然后我的同事做了一些其他的改变(B)。然后我发现更改(A)被彻底破坏了,我决定完全放弃它们。另一方面,变化 (B) 非常好,幸运的是完全独立于变化 (A)。变化(B)的数量远小于变化(A)。
通常,我会hg commit --close-branch
按照这里的描述进行。但是后来我丢失了更改(B),并且需要在新的活动分支中重新创建它们。我可以做到这一点,只需(手动)识别受影响的文件,并(手动)更新它们,然后提交。这显然不是完美的,因为它需要两个手动步骤,并且还在存储库中创建了一个误导性的提交(误导性是因为这些更改是我的同事不久前做出的,但看起来好像是我今天做出的)。我想这不是世界末日,但有更优雅的解决方案吗?
注意:如果 Mercurial 支持仅将一个提交的差异应用到修订树中的另一个位置,它就会起作用。但我怀疑此功能不存在,这是有充分理由的:当逐字应用于另一个父变更集时,差异与现有父变更集非常有用。