我“不小心”向 GitHub 推送了一个提交。
是否可以删除此提交?
我想恢复我的 GitHub 存储库,就像这次提交之前一样。
意:git rebase -i请在下面的评论中查看替代方案—— git reset --soft HEAD^
意:git rebase -i请在下面的评论中查看替代方案——
git rebase -i
git reset --soft HEAD^
首先,删除本地存储库上的提交。您可以使用git rebase -i. 例如,如果这是您的最后一次提交,您可以git rebase -i HEAD~2在弹出的编辑器窗口中执行并删除第二行。
git rebase -i HEAD~2
然后,通过使用强制推送到 GitHubgit push origin +branchName --force
git push origin +branchName --force
参见Git Magic Chapter 5: Lessons of History - And Then Some了解更多信息(即如果你想删除旧的提交)。
哦,如果你的工作树很脏,你必须先做git stash,然后再做git stash apply。
git stash
git stash apply