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

Git Merge Undo and Switch To Previous Commit

我刚刚通过 git commit -m "commit 1"

提交了本地更改

。然后,我做了 git pull origin 从远程分支获取更改。然后,在合并过程中,出了点问题。也就是说,在合并提交之后,我看不到我的更改。我怎样才能从当前的 commit1 恢复到 commit1?

如果我在此分支上执行 git branch checkout,则此提交恰好落后于 HEAD 的当前位置。

使用 git reflog show 显示查看 HEAD 的历史记录,您可以将 HEAD 重置为该提交(在您的情况下可能 git reset HEAD@{1}.

最安全也可能是最干净的方法是交互式变基:

git rebase -i HEAD^^

或者,

git reset --hard commit-id
git push

您可能需要 git push -f

在这种情况下无法帮助您恢复本地更改,但将来您可以执行以下操作以避免丢失:

git stash
git pull
git stash pop

好吧,如果您暂时只看到以前的版本,您可以随时查看 commit 1

git log 开始并找到您的提交哈希

然后,检查提交:

git checkout acb1234

您将看到旧版本的源代码。

如果你真的想在合并前返回

git reset --hard acb1234

如果您推送合并,您可以做的是 git 恢复:

git revert -m 1 1a2b3c # the merge hash