假设我刚刚在Mercurial中提交了我的文件,其中包含“删除所有不再需要的注释”等说明。几分钟后,我意识到我已经忘记删除一些类似的评论了。我希望能够更新我几分钟前所做的提交,而不必再做一个新提交。
是否可以做这样的事情?
答案 0 :(得分:6)
假设您没有推送并且没有再提交任何提交,则可以使用hg rollback
。
答案 1 :(得分:2)
MQ扩展使您可以执行此操作。但请记住,从技术上讲,这会创建一个新的变更集并删除现有的变更集,因此,如果您已将先前的变更集推送到“官方”/共享存储库,那么您将失去运气。
我经常这样做你在这里描述的内容:
$ hg qimport -r tip
$ hg qrefresh -e # edit commit message
$ hg qfinish -a
答案 2 :(得分:2)
histedit扩展名允许您执行此操作。
与MQ一样,如果你已经推到其他地方,你就不应该编辑它,但是如果你没有,你可以hg histedit REV
执行hg histedit --continue
,它将列出该版本和现在之间的所有变更集,并且您选择你想改变什么。然后,hetedit支持你最早的,当你做出改变时,你运行{{1}}。洗涤,冲洗,重复。
答案 3 :(得分:-1)
如果您正在共享您的存储库,请为每个人保留一些令人头疼的问题,并且不要尝试这样做。