我刚刚用git commit -m "commit 1"
提交了本地更改
然后,我执行git pull origin
以从远程分支获取更改。然后,在合并过程中,出现了一些问题。也就是说,在合并提交之后,我看不到我的更改。如何从当前commit1恢复到commit1?
如果我在这个分支上执行git branch checkout
,那么这个提交正好落后于HEAD的当前位置一个。
最安全、可能也是最干净的方法是交互式地重新设置基础:
git rebase -i HEAD^^
或者,
git reset --hard commit-id
git push
您可能需要git push -f
。
在这种情况下,这并不能帮助您恢复本地更改,但在未来,您可以采取以下措施来避免损失:
git stash
git pull
git stash pop
使用git reflog show
show查看HEAD的历史记录,您可以将HEAD重置为该提交(在您的情况下可能是git reset HEAD@{1}
.
好吧,如果你只临时看到你以前的版本是什么,你总是可以签出commit 1
从git log
开始,找到您的提交哈希
然后,签出提交:
git checkout acb1234
您将看到源代码的旧版本。
如果你真的想在合并之前回去
git reset --hard acb1234
如果你推送了合并,你可以做的是gitreverse:
git revert -m 1 1a2b3c # the merge hash