恢复远程 git push -u origin master -f 之前的操作

使用 git 提交代码时,使用了 git push -u origin master -f 命令导致远程仓库中的代码被覆盖掉,如何才能再恢复之前远程的状态?

阅读 3.5k
2 个回答

如果你事先 git fetch 过代码,常见的git工具一般都会在后台自动fetch。并且你没有执行过git gc 命令

那么可以用 git reflog 查看到没有被引用到的提交。

再使用 git reset --hard hash hash 是你要找回来的提交。

这样就可以找回来了。

git reflog
git reset --hard <reflog中找到的对应的hash>

重新git push -f

PS: 不知道你的master是有几个人在协同开发,如果是公有分支,请无论如何都不要push -f; 如果是你自己的私有分支,请随意

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进