当VI在屏幕上等待提交消息时,如何停止Git提交?

我已经要求Git在git bash中执行一个提交,它像往常一样提出了VI。

我现在想取消这个提交,那么我该如何防止这个提交呢?

你有两个select:

  • 提供一个空的提交消息。 如果这是一个新的提交,你还没有保存消息,你可以简单地使用:q! (不保存直接退出)。 如果您已经保存(或者您正在修改以前的提交),只需删除整个日志消息并再次保存即可。 这可以在Vim中用ggdG + :wq完成。

  • 使编辑器以非零退出代码退出。 在Vim中,你可以使用:cq (用一个错误代码退出)。

值得注意的是,你总是可以将你的工作副本git reset HEAD^git reset HEAD^之前的状态。

  • :q! 在修改提交时不起作用。 它不更新提交消息,但它执行修改:-(
  • :cq完全中止了修正案。

总结一下:

  • 当创build一个新的提交 (即git commit )退出使用:q!
  • 修改 (即git commit --amend ),例如通过按住v并使用箭头键select它,然后按下Delete键,就可以删除提交信息(仅前几行以#开头)。 退出:wq应用更改 ! 如果你使用:q! 所做的更改将会丢失,并使用之前的提交消息。

在使用VIM时,在两种情况下都可以退出:cq – VIM将退出并显示错误代码,提交将被中止。