2012-09-11 257 views
7

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

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

所以我的问题是如下,如果我推,我的意外提交和其相应的恢复日志公开可见?

回答

15

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

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

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

如果不良提交是最后一次提交(即提示),则可以使用hg rollback(位于TortoiseHg的Repository菜单下)。该命令与提交时的“撤消”相似。

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

2

您可以使用hg strip -r . --keep而不是hg rollback。只有当你推动你的提交时,才需要hg backout