2012-04-25 68 views
2

今天我失去了大约6个小时的工作,因为我做了'hg rollback'而不是'hg revert'。我不会浪费时间来谈论如何拥有一个没有确认或警告的破坏性命令。可以禁用Mercurial中的回滚吗?

我宁愿让它成为我不能再犯这样一个简单的错误。有没有办法从命令行禁用此命令?

+4

请注意'hg rollback'不会改变工作目录 - 所以如果你不小心'rollback',你可以重新提交现有的工作目录来恢复提交。 – Amber 2012-04-25 22:42:57

+0

@Amber真的,我会这样做的,除了我认为我已经做了回复,我的回购很好。然后我用代码合并了一个pull/merge。我不知道到底发生了什么,只是今天早上我做的大量重构已经消失了。 – jcollum 2012-04-25 22:46:30

+0

这是一个很好的例子,当你做错事情时 - 你需要停下来仔细想想发生了什么事以及如何解决它,不要随意尝试一切 – zerkms 2012-04-25 22:49:14

回答

9

你可以用别名来打开它。尝试添加以下到您~/.hgrc

[alias] 
rollback = !echo WAT? 

注意,它可能无法与旧版本的善变正常工作(我会说,比1.8以上)。

+0

谢谢。现在我得到'PS C:\ dev \ TestRep> hg rollback' 'WAT?'。最后一次提交未被删除。看起来不错。 – jcollum 2012-04-25 23:33:56