我刚刚使用git commit -m "commit 1"
。然后,我做git pull origin
从远程分支获取更改。然后,在合并期间出现了问题。也就是说,在合并提交之后,我没有看到我的更改。如何从当前版本恢复为commit1?
如果我在此分支上git branch checkout
,则此提交正好落后于HEAD的当前位置。
答案 0 :(得分:1)
使用git reflog show
show查看HEAD的历史记录,您可以将HEAD重置为该提交(在您的情况下可能是git reset HEAD@{1}
。
答案 1 :(得分:1)
最安全且可能最干净的方法是以交互方式进行改变:
git rebase -i HEAD^^
可替换地,
git reset --hard commit-id
git push
您可能必须git push -f
。
在这种情况下,无法帮助您恢复本地更改,但将来您可以执行以下操作以避免丢失:
git stash
git pull
git stash pop
答案 2 :(得分:1)
好吧,如果你只是临时看到你以前的版本,你可以随时查看commit 1
从git log
开始,找到您的提交哈希
然后,检查提交:
git checkout acb1234
您会看到旧版本的来源。
如果你真的想在合并之前回去
git reset --hard acb1234
如果推动合并,你可以做的就是git revert:
git revert -m 1 1a2b3c # the merge hash