有什么方法可以回滚上次对 Git 的推送吗?

258815 次浏览

首先,您需要确定最后一次已知提交的修订 ID。如果您知道需要恰好逆转一次提交,则可以使用 HEAD^HEAD~{1}

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

因为你是唯一的用户:

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

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

不需要对本地回购做任何更改,您也可以执行以下操作:

git push -f origin <sha_of_previous_commit>:master

一般来说,在已发布的回购协议中,先做 git revert再做 git push会更安全