忘记/删除Mercurial存储库中的修订

时间:2011-10-07 19:35:47

标签: version-control mercurial revert

很多次这发生在我身上。我做了一些版本......

$ nano module1.c

...进行一些测试...

$ make test
OK

...而且,自从测试通过后,我提交了它:

$ hg commit -m "Bug #123 corrected"

然后我开始另一个功能,编辑一些测试:

$ nano test/module2.c

我想运行测试,然后按 Control - P (或)执行make test。不幸的是,我再次提交了最后一条消息:

$ hg commit -m "Bug #123 corrected"

那么,有没有办法从我的Mercurial存储库中删除最后一次提交而不会丢失我在test/module2.c中所做的编辑?

1 个答案:

答案 0 :(得分:4)

请参阅hg help rollback。仔细阅读,这很危险。

警告:如果你继续使你的手指超出大脑的错误效率,hg rollback 咬你比hg commit更难。如果您想要运行make tests很多并且不能等待.3秒以使视觉数据到达您的前额皮层,请自己制作mt别名,而不是盲目地跳入您的命令历史记录。