在 Git 的一些操作中,可能会中途停下来,等待用户输入的操作。比如,git rebase -i
或 git ammend
的时候。在完成操作前,Git 会打开 Vim(或其他默认的编辑器)等待用户对 commit message 做最后的处理。只要用户保存并退出,rebase 的过程就完成了。
如果在这个等待确认的过程中,希望可以中断整个过程,使用 Ctrl+C
是不行的。如果使用 Ctrl+C
,Vim 可能会提示用 qa!
来放弃所有修改并退出 Vim。但这个只是退出了 Vim,Git 依然会继续接下来的流程,并没有真正达到中断 Git 的目的。
事实上,Vim 允许以 error code 退出,使用如下的命令::cq
。
更多关于这个命令的说明,可以使用 :help cq
来查看。以 error code 退出之后,Git 就不会再继续接下来的流程了。