如何在git中回到以前的版本

时间:2011-08-01 11:20:17

标签: git

我的工作站中有一个远程git存储库的签出副本。 我不小心改变了我的本地并推到了遥控器。 现在我想删除最后一次提交并返回上一次提交,同样应该推送到远程。

如果是带有提交消息的新提交,我没关系。怎么做?

2 个答案:

答案 0 :(得分:10)

如果还没有人克隆您更新的远程仓库,您可以:

git reset --hard HEAD~
git push --force

这会强制本地和远程历史记录丢弃最新的提交 (首先使用git fetch检查,因为不正确的提交,没有新的提交被推送)

如果新的历史记录不是一个选项,那么 git revert 会更安全,并会导致新的提交取消前一个提交:然后您可以推送新的提交

答案 1 :(得分:10)

我建议不要推动 - 强制另类历史。 任何已经撤消更改的人都会在提取新内容时处理完全错误的历史记录。

更安全的选择是简单地做

git revert HEAD~1 
git push origin master

git revert将记录一个新的提交,取消前一个的所有效果