如何在意外退出 vim 编辑器后恢复旧的提交消息?

How to recover old commit messages after accidentally exiting vim editor?

使用:Windows 10,带有 git 命令的命令行

我正在使用 git(遵循本教程:https://help.github.com/en/github/committing-changes-to-your-project/changing-a-commit-message)将一些旧消息更改为提交消息以向每个消息添加内容。我使用了命令:git rebase -i HEAD~10 这显示了最后 10 次提交。在将每个 'pick' 和 'reword' 命名为我想要的提交消息后,我不确定如何退出和保存。因此,我决定单击命令提示符上的十字按钮,当我再次检查 git 登录我的项目时,最后 10 次提交都消失了。我怎样才能恢复它们?

打开 bash 并再次转到存储库目录。您应该处于 "rebase x/x" 状态,如行尾的蓝色字所示。

可以使用then"git rebase --abort"到return执行交互式rebase命令前的点

(来源:https://git-scm.com/docs/git-rebase#Documentation/git-rebase.txt---abort

  1. 运行 git status 检查你的分支是否也在 rebase 进程中。如果你有类似 (develop|REBASE-i) 的东西,你只需执行 git rebase --abort 来中止变基。

  2. 如果您不在 rebase 进程中,假设您没有删除它们,您可以从 reflog 中恢复。 使用 git reflog 查找提交哈希码。然后使用 git reset --hard hashcode

  3. 恢复它