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



使用: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,然后再次转到存储库目录。您应该处于"rebasex/x"状态,如行末尾的蓝色单词所示。

然后可以使用"git-rebase--abort"返回到执行交互式rebase命令之前的点。

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

  1. 运行git status以检查分支是否也在rebase进程中。如果您有类似于(develop|REBASE-i)的东西,那么只需执行git rebase --abort即可中止rebase。

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

最新更新