可以在Mercurial中更新提交吗?

时间:2010-12-09 10:46:14

标签: version-control mercurial

假设我刚刚在Mercurial中提交了我的文件,其中包含“删除所有不再需要的注释”等说明。几分钟后,我意识到我已经忘记删除一些类似的评论了。我希望能够更新我几分钟前所做的提交,而不必再做一个新提交。

是否可以做这样的事情?

4 个答案:

答案 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)

如果您正在共享您的存储库,请为每个人保留一些令人头疼的问题,并且不要尝试这样做。