我如何删除GitHub上的提交?

我“不小心”向GitHub推送了一个提交。

是否有可能删除此提交?

我想恢复我的GitHub存储库,因为它在提交之前。


注意:请在下面的注释中看到git rebase -i替代选项 -

git reset --soft HEAD^

首先,删除本地存储库上的提交。 你可以使用git rebase -i来做到这一点。 例如,如果它是你最后一次提交,你可以做git rebase -i HEAD~2并删除弹出的编辑器窗口中的第二行。

然后,通过使用git push origin +branchName强制推送到GitHub

参见Git Magic第5章:历史教训 - 然后一些更多信息(例如,如果你想删除旧的提交)。

哦,如果你的工作树很脏,你必须首先做一个git stash ,然后在之后git stash apply一个git stash apply


git push -f origin HEAD^:master

这应该“撤销”推动。


如果这只是一个错误,那么容易还原(也许你分叉了一个回购,然后推到原来的,而不是一个新的),这是另一种可能性:

git reset --hard 71c27777543ccfcb0376dcdd8f6777df055ef479

显然交换这个数字为您想要返回的提交数量。

一旦你再次推送,以后的所有内容都将被删除。 要做到这一点,下一步将是:

git push --force
链接地址: http://www.djcxy.com/p/4065.html

上一篇: How can I remove a commit on GitHub?

下一篇: How to delete commit that is pushed to the remote repository?