TortoiseHG:删除提交

时间:2012-09-11 14:58:42

标签: mercurial tortoisehg

我不小心在本地提交了一堆文件,但没有推送。 基本上我想要做的就是删除我的提交,然后推送其他一些更改。

我可以通过Backout-ing删除提交,然后我将在本地提交,以便在本地删除它。

所以我的问题是,如果我进行推送,我的意外提交及其相应的转换日志是否会公开显示?

3 个答案:

答案 0 :(得分:16)

听起来hg rollback就是你想要的命令。

hg backout <REV>创建一个新提交,以撤消<REV>中所做的更改。原始提交和撤销提交都将保留在您的历史记录中。这是在将其推送到公共位置后修复错误提交的少数几个选项之一。

然而,在这种情况下,你还没有推向公众,所以有更好的解决方案。

如果错误提交是最后一次提交(即您的提示),那么您可以使用hg rollback(在TortoiseHg的Repository菜单下)。此命令类似于提交的“撤消”。

如果错误提交在您的历史记录中的其他地方(但仍未推送到公共回购),您还可以使用mq extension重写该历史记录的一部分。

答案 1 :(得分:3)

您可以使用hg strip -r . --keep代替hg rollback。只有在您提交了提交内容时才需要hg backout

答案 2 :(得分:0)

您的问题的简单答案是肯定的。

如果您执行了退出,则它会显示在您的历史记录中 如前所述,您想要执行Strip。

这是对mercurial的扩展 https://www.mercurial-scm.org/wiki/StripExtension