可能重复:
Undoing a 'git push'
我推了一些不好的代码,而且我是存储库的唯一用户。如何回滚我的上次提交?
答案 0 :(得分:198)
由于您是唯一的用户:
git reset --hard HEAD@{1}
git push -f
git reset --hard HEAD@{1}
(基本上,返回一个提交,强制推送到repo,然后再返回 - 如果你不关心提交,则删除最后一步)
如果不对本地仓库进行任何更改,您还可以执行以下操作:
git push -f origin <sha_of_previous_commit>:master
通常,在已发布的回购邮件中,git revert
然后git push
答案 1 :(得分:73)
首先,您需要确定上次已知提交的修订ID。如果您知道需要完全撤消一次提交,则可以使用HEAD^
或HEAD~{1}
。
git reset --hard <revision_id_of_last_known_good_commit>
git push --force