当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将退出并显示错误代码,提交将被中止。