Mercurial: 修复损坏的历史记录

6
最近我在做一个项目(只有我自己,没有其他开发者),但是我不知道怎么回事,用一些克隆的仓库进行合并时,严重破坏了历史记录。
我想要做的 - 必须做的 - 是通过删除最后8个提交(根据hg glog)来修复问题。
是的,我在破坏之后对代码进行了一些更改,然而,只是一些微小的调整 - 没有什么我无法从记忆中重新修复的东西。
如何才能消除最后8个提交并从我犯错的地方重新开始呢?
1个回答

11

克隆存储库 - 在此过程中,您可以指定应克隆的最后提交。

因此,如果您的存储库有100个更改集并且您想摆脱第93到100个更改集,只需执行以下操作:

hg clone -r 92 BadRepository CleanRepository

--> CleanRepository 只包含变更集 1 到 92。

如果你使用 TortoiseHG,在克隆对话框中可以执行相同操作(有一个名为“克隆到版本:”的文本框)。


3
如果源代码仓库中存在一些分支,那么这个答案并没有覆盖所有情况,你最终会得到一个部分仓库。 - piotr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接