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

我现在想取消提交,我如何阻止从这一点继续提交?


你有两个选择:

提供一个空的提交消息。如果它是一个新的提交,而你还没有保存消息,你可以简单地使用:q!(不存钱就退出)。如果您已经保存了(或者您正在修改之前的提交),只需删除整个日志消息并再次保存。这可以用Vim中的ggdG +:wq完成。 让编辑器使用非零退出代码退出。在Vim中,您可以使用:cq(带错误代码退出)。

值得注意的是,你总是可以用git reset HEAD^将你的工作副本重置到提交前的状态。


:问!在修改提交时不起作用。不更新 提交消息,但它执行修改:-( :cq完全终止修改。


总结如下:

当创建一个新的提交(即git提交)退出使用:q! 当修改(即git commit——amend)时,删除提交消息(只有前面几行不是以#开头的),例如按住v并使用方向键选择它,然后按Delete。退出:wq应用更改!如果你使用:q!更改将丢失,并将使用之前的提交消息。

当使用VIM时,在两种情况下都可以使用:cq退出- VIM将退出一个错误代码,提交将被中止。


所有的答案都是为了教你一点活力

但如果你真的有问题关闭一个vim

这个版本可能会有更多的问题

这种情况将在git中的每次交互中重复

所以你想要更改git编辑器

Git配置——全局核心。编辑纳米

Git配置——全局核心。编辑< your_editor >

或者学习像vim或emacs这样的编辑器。