使用 git 提交代码时,使用了 git push -u origin master -f
命令导致远程仓库中的代码被覆盖掉,如何才能再恢复之前远程的状态?
使用 git 提交代码时,使用了 git push -u origin master -f
命令导致远程仓库中的代码被覆盖掉,如何才能再恢复之前远程的状态?
git reflog
git reset --hard <reflog中找到的对应的hash>
重新git push -f
PS: 不知道你的master是有几个人在协同开发,如果是公有分支,请无论如何都不要push -f; 如果是你自己的私有分支,请随意
5 回答2.8k 阅读
3 回答2.6k 阅读
3 回答963 阅读
如果你事先
git fetch
过代码,常见的git工具一般都会在后台自动fetch。并且你没有执行过git gc
命令那么可以用
git reflog
查看到没有被引用到的提交。再使用
git reset --hard hash
hash 是你要找回来的提交。这样就可以找回来了。