我的日志看起来像 1 -> 2 -> 3 -> 4(提示)。我想从日志中删除 2 而不会影响我的工作目录的当前状态。
我通过以下方式完成了这一点:
- 从工作目录的副本创建新的存储库。叫这个 B
- 使 1 成为存储库 A 中 3 的父级
- 汞条-r 2
- 将存储库历史从 B 粘贴到我现有存储库 A 的末尾
- 汞更新
所以现在日志看起来像 1 -> 3 -> 4 -> 5(来自复制的存储库的提示)并且文件是正确的,但我宁愿日志看起来像 1 -> 3 -> 4(提示)
我的日志看起来像 1 -> 2 -> 3 -> 4(提示)。我想从日志中删除 2 而不会影响我的工作目录的当前状态。
我通过以下方式完成了这一点:
所以现在日志看起来像 1 -> 3 -> 4 -> 5(来自复制的存储库的提示)并且文件是正确的,但我宁愿日志看起来像 1 -> 3 -> 4(提示)
在一般情况下,您真的应该尽量避免编辑历史记录——拥有准确的历史记录通常比拥有完美的历史记录更重要。也就是说,您可以通过使用histedit扩展的fold
子命令将 2 与 3 组合来做您想做的事情。您已经拥有histedit
,它随 Mercurial 一起提供,但您必须启用它。