如何撤消 GitHub 上的最后一次提交?

How to undo the last commit on GitHub?

我想撤消推送到存储库 master 分支上的 GitHub 的最后一次提交,并使其看起来好像此提交从未存在过并且没有出现在提交历史记录中。

我该怎么做?

请注意那些投票结束的人——提议的备选问题不必要地复杂,有居高临下的答案,并且散落着难以筛选的巨大文本墙。

因此,为了我和后代的利益,这个简单的问题和一个简单的答案。

如果您希望将存储库的 master 分支倒回到之前推送的提交,只需 运行 这个命令——当然,使用适当的提交哈希:

git reset --hard a0b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6r7s8t9
git push --force

这可能会产生意想不到的后果,例如,如果您的存储库中有协作者。但是,我相信你知道自己在做什么

我认为您正在寻找 --force 参数。

您可以使用 git reset --hard {commit sha} 重置为特定的提交,然后使用 git push --force.

强制更改到原点

请注意,如果其他人正在使用您的存储库,他们将需要使用 git pull --force,否则他们可能会无意中将您不需要的提交放回存储库中。

我建议在采取行动之前先阅读 git resetgit push 的帮助文档。