有没有办法把我最后一次推到Git上?


Is there a way to rollback my last push to Git?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicates:
Undoing a 'git push'

我推送了一些坏代码,我是存储库的唯一用户。如何回滚上一次提交?


因为您是唯一的用户:

1
2
3
git reset --hard HEAD@{1}
git push -f
git reset --hard HEAD@{1}

(基本上,返回一次提交,强制推送回购,然后再次返回-如果不关心提交,请删除最后一步)

在不更改本地回购的情况下,您还可以执行以下操作:

1
git push -f origin <sha_of_previous_commit>:master

一般来说,在已发布的回购协议中,先执行git revert,然后执行git push比较安全。


首先,您需要确定最后一次已知提交的修订ID。如果您知道需要撤销一个提交,那么可以使用HEAD^HEAD~{1}

1
2
git reset --hard <revision_id_of_last_known_good_commit>
git push --force