git rabase 后,提交的commit消失,如何找回

问题描述

  在 执行 git rebase 操作时,如果存在冲突,使用 git rebase --abort 处理后,会发现 commit 的修改和记录都没有了。执行 git log 看不到记录(使用 git rebase --skip 处理,也有可能导致 commit 消失)。

解决方法

  1. 执行git reflog 命令列出 log 信息,如下图
    截图

  2. 使用消失的 commit 重新建立一个 branch,命名bak
    git checkout -b bak b670c33b
    此时的新分支 bak 的 git log 记录就刚好在红色框那个点上

  3. 最后在新分支,重新提交合并,然后 push 上去就可以啦。