将代码恢复为Master中的上一次提交

时间:2015-06-19 16:10:45

标签: git

我已将代码签入我当地的主git仓库,然后将其推送到原点。只有1个这样的错误签到。在本地和远程恢复最后一次提交的最佳方法是什么?

我宁愿摧毁历史。

2 个答案:

答案 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来重写远程历史记录。这将打破任何提交该提交的人。