如何删除已推送的 Mercurial 提交?

How to remove a Mercurial commit that has been pushed?

我在 bitbucket 存储库中有一个系统,我用 Mercurial 上传了它。

几天前我上传了一个我不该碰的文件,遇到了问题。现在我想知道是否有命令选项可以删除我所做的提交。

当然我试过 hg log -l 5 然后 hg strip 'id commit',但我不想回到之前的点,如果不删除提交的话。准确的说是最后一个。

专家注意事项!仅:记住我已经将我的提交推送到 bitbucket

"remove the commit" 的唯一方法是在 bitbucket 上剥离它,但这有几个缺点,特别是如果你以外的人已经 "pulled" 有问题的提交。

处理您的情况的首选方法是使用 hg backout。这 "hides" 提交,而不是实际删除它。