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

时间:2019-10-28 06:36:28

标签: git vim command-line git-commit

使用: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次提交。在用“ reword”命名每个“ pick”之后,我不确定如何退出并保存。因此,我决定单击命令提示符下的叉号按钮,当我再次在项目中检查git log时,最后10次提交都消失了。我该如何找回它们?

2 个答案:

答案 0 :(得分:0)

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

您可以在执行交互式rebase命令之前使用“ git rebase --abort”返回到该点。

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

答案 1 :(得分:0)

  1. 运行git status,以检查分支是否也在rebase进程中。如果您有类似(develop|REBASE-i)的内容,则只需执行git rebase --abort即可终止变基。

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

  3. 恢复它