如何用egit删除提交?

时间:2012-11-23 18:42:37

标签: eclipse git egit

我刚刚提交了一些不好的提交,我想删除。

Some bad commits I want to delete

如何从egit中删除提交?

谢谢!

编辑:我尝试了几次硬重置,但它没有做任何事情。 Hard reset screen

编辑2:硬重置确实会回滚更改,但我希望它们完全从历史记录中消失,就像我从未做过这些提交一样。

3 个答案:

答案 0 :(得分:31)

您的存储库中的RightMouse,然后点击“显示在 - >历史记录”。 您应该在上次“获取”之前选择最后一次提交...大部分时间是您当前HEAD下的第二次提交。 该提交上的RightMouse和“reset - > Hard”(将所有提交和本地工作区更改重置为所选提交)。

您应该会看到向上箭头变为向下箭头,这意味着您的提交已被删除,并且您的存储库已过时。使用“fetch”& “rebase”是最新的。

答案 1 :(得分:5)

请注意,Egit3.0 in Kepler允许您硬重置为所需的任何树状表达式:

enter image description here

但是一旦硬重置,你仍然需要git push --force之后:如果你没有,你的上游回购的历史记录仍会列出该提交。

答案 2 :(得分:-1)

你可以做一个硬重置但要小心!这里有更多信息:Delete commits from a branch in Git