Git 我想恢复到拉之前的较早提交,但该提交被列为HEAD@{0}

Git 我想恢复到拉之前的较早提交,但该提交被列为HEAD@{0},git,bitbucket,Git,Bitbucket,这里是Git初学者。我做了一个git提交,然后尝试推送到源站,但收到一条关于远程包含本地没有的工作的消息,因此我运行了git pull,并立即意识到我犯了一个错误,因为我的远程设置到了错误的存储库 所以我不得不松开拉力。我想我可以做git reset--keep HEAD@{1}来恢复我在尝试推送到源代码之前所做的提交,但是当我运行git reflog时,它告诉我该提交不知何故在我的头上,而HEAD@{1}是从源代码拉过来的 $ git reflog a98fsjs (HEAD -> m

这里是Git初学者。我做了一个git提交,然后尝试推送到源站,但收到一条关于远程包含本地没有的工作的消息,因此我运行了
git pull
,并立即意识到我犯了一个错误,因为我的远程设置到了错误的存储库

所以我不得不松开拉力。我想我可以做
git reset--keep HEAD@{1}
来恢复我在尝试推送到源代码之前所做的提交,但是当我运行
git reflog
时,它告诉我该提交不知何故在我的头上,而HEAD@{1}是从源代码拉过来的

$ git reflog 
a98fsjs (HEAD -> master) HEAD@{0}: commit: This is what I was trying to push 
asd09jf (origin/master, origin/HEAD) HEAD@{1}: pull origin master: Fast-forward
asfasw9 HEAD@{2}: commit: Another previous commit

我知道一个事实,我在拉之前就已经做出了承诺,那么为什么拉在拉之前呢?我能做些什么来撤销拉取吗?

这太尴尬了……我为拉取提交运行了“git show”,结果发现这是几个月前的一次拉取。目前的拉力是在合并的中间,还没有被提交。我所要做的就是运行“git merge--abort”,然后运行“git reset HEAD@{0}”,然后拉操作就被撤消了。

看起来您已经完成了重设。唯一奇怪的是,
HEAD@{2}
也应该指向该提交。@torek我没有运行重置。从字面上说,所有发生的事情都是我运行“git commit-m'message'”,然后运行“git push-originmaster”,然后运行“git pull”,然后运行“git reflog”。好吧,在这一点上,我同样感到困惑。。。