【问题标题】:Forgeting/removing a revision from Mercurial repository从 Mercurial 存储库中忘记/删除修订
【发布时间】:2011-12-03 06:31:54
【问题描述】:

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

$ 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 中所做的编辑?

【问题讨论】:

标签: version-control mercurial revert


【解决方案1】:

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

警告:如果你继续让手指领先于大脑的错误效率,hg rollback hg commit 咬你更狠。如果您想经常运行 make tests 并且不能等待 0.3 秒让视觉数据到达您的前额叶皮层,请为自己设置一个 mt 别名,而不是盲目地跳入您的命令历史记录。

【讨论】:

  • 好吧,我希望现在能少很多问题,因为我创建了一个在 pretxcommitpretxcommit 阶段运行 make test 的钩子(而且测试不太可能通过)。无论如何,你的回答解决了这个问题,我认为我的旧坏习惯不会消失,不幸的是:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多