注意:请在下面的评论中查看
git rebase -i
替代方案 -
git reset --soft HEAD^
首先,删除本地存储库上的提交。你可以使用git rebase -i
来做到这一点。例如,如果它是你的最后一次提交,你可以执行git rebase -i HEAD~2
并删除弹出的编辑器窗口中的第二行。
然后,使用git push origin +branchName --force
强制推送到 GitHub
请参阅Git Magic 第 5 章:历史课程 - 然后了解更多信息(例如,如果您要删除旧提交)。
哦,如果你的工作树很脏,你必须先做一个git stash
,然后再用git stash apply
。
git push -f origin HEAD^:master
这应该 “撤消” 推动。
如果它只是一个错误(也许你分叉一个回购,然后最终推到原来而不是一个新的),一个简单的还原,这是另一种可能性:
git reset --hard 71c27777543ccfcb0376dcdd8f6777df055ef479
显然,将该数字换成您想要返回的提交数。
再次按下后,一切都会被删除。为此,下一步将是:
git push --force