我经常遇到一个用例,在该用例中,我在事后很久才发现已提交的变更集中的一个小错误,因此恢复变更集不是一种选择。
我查看了类似的问题和Mercurial 文档中的移植和关于反向移植更改的一般建议,但要么没有涵盖这个“简单”用例,要么它被包含在 DVCS 变基/克隆/导出/导入的复杂泥潭中对于看似微不足道的操作,滥用远远超过它的价值。
简而言之,在一个由
A -> B -> C -> D -> E
在变更集 B 中的一个文件中存在一个需要修复的单行错误,其中包含对多个文件的许多更改。有没有办法在不恢复/修复/重新应用所有 B 的情况下做到这一点?只是能够做
... -> B -> B' -> C -> ...
会解决这个问题。
请注意,我对变基概念的上下文为零,所以除非你愿意用勺子喂给我,否则它不会有太大帮助。我的需求通常很简单;我基本上在单用户模式下使用 Mecurial 作为 RCS 或 SVN 的高级形式,通常只使用提交、分支和合并(绝对没有推送、拉取、导入、导出、变基或其他“分布式”功能)。是的,我知道我可能会排除很多解决这个问题的选择,但我的重点是修复我的代码,而不是理解我从不使用的 Mercurial 功能的细粒度行为(对不起,在这里说实话。)
如果这是不可能的,请让我知道,这样我就可以将我的修复提交为 F,并提交更改集 B 到 E 已损坏的提交消息。