我已将代码签入我当地的主git仓库,然后将其推送到原点。只有1个这样的错误签到。在本地和远程恢复最后一次提交的最佳方法是什么?
我宁愿摧毁历史。
答案 0 :(得分:3)
如果您确定自从您提交后没有人从回购中获取/提取,请执行以下操作:
git reset --hard HEAD~1
git push -f
但是,如果有人已经获得/拉动,那么没有他们的合作就没有什么可以做的。在这种情况下,你最好的办法是做一个git revert HEAD
,这将进行一次额外的提交,撤消你的上次提交。
答案 1 :(得分:2)
您可以使用git rebase -i <any earlier commit>
重写历史记录以删除该提交
如果这是最近的提交,您也可以运行git reset --hard HEAD^
。
然后,您可以运行git push -f
来重写远程历史记录。这将打破任何提交该提交的人。