Git合并撤消并切换到上一次提交



我刚刚用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

最新更新