如何解决Git - 不能拉,试图强行,现在不知道我在哪里
我会试着解释我做了什么。
我上次提交并推送到 github 至少是几周前。
我仍然定期提交。
最近,我尝试合并更改,但未能成功,因为我在 github 上手动更改了自述文件,需要先将其拉下来。
我试图拉,但打开了 VIM。
我试图输入一条提交消息,就像它在询问,但我不熟悉 VIM,我不确定我是否成功。
我遵循了一些说明,但我不记得到底发生了什么。我不认为它是成功的,因为我决定做的下一件事就是强行推动。
我在本地拥有我想要的一切,除了自述文件,所以我认为这没什么大不了的。
但是在这样做之后,我决定我应该尝试返回并先保存自述文件,呃!
How to recover from a git push -force?
基本上是这个
# work on local master
git checkout master
# reset to the prevIoUs state of origin/master,as recorded by reflog
git reset --hard origin/master@{1}
# at this point verify that this is indeed the desired commit.
# (if necessary,use git reflog to find the right one,and
# git reset --hard to that one)
# finally,push the master branch (and only the master branch) to the server
git push -f origin master
现在看起来不是在我之前的本地提交,而是在几周前我推送到 GitHub 的最后一次提交。这可能吗?
谁能帮我解决这个问题? 在这一点上,我只想回到我之前的本地提交。
如果我把自述文件弄丢了也没什么大不了的。
这是我的 git reflog - 我想回到“修正错字”
解决方法
从您的 reflog 来看,您似乎只想这样做:
git reset 27f3f76
假设您不介意修改工作目录,您可能想要:
git reset --hard 27f3f76 # Caution: will modify working directory
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。