如何删除 GitHub 上的推送提交?

elf*_*elf 2 git github

正如您可能从标题中猜到的那样,我不小心推送了一个 commit。我想知道是否还有办法删除或删除它?

尽管已经有人问过这个问题(如这里),但我认为向网站添加更新版本会很有用,因为我不确定那里提供的答案今天是否仍然适用。

提前致谢!

小智 5

是的,假设您要删除的提交是最近的提交。您可以在要删除的提交之前获取提交的提交 ID。您可以使用git log. 它可能看起来像这样。

commit d338e7a5626a763f74c2e69777ce930532fe008d
Author: Stan Liu 
Date:   Wed Aug 2 18:35:00 2017 -0700

    Commit 2

commit 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b
Author: Stan Liu
Date:   Wed Aug 2 18:31:39 2017 -0700

    Commit 1
Run Code Online (Sandbox Code Playgroud)

然后做git reset --hard <COMMIT_ID>,如果你想彻底删除你的本地计算机上的变化。在我的情况下,我将d338e7a5626a763f74c2e69777ce930532fe008d使用git reset --hard 47d81989c633c3afb3fc6aa1f319c0c0d4d3871b. 当你想彻底删除最后一次提交时,你需要提到最后一次提交的提交ID。如果您有远程仓库,则将新分支推送到远程仓库。

如果您只想删除提交但保留该提交的更改,那么git reset <COMMIT_ID>将起作用。