如何在交互式编辑期间从vim内部中止git rebase

时间:2014-12-01 10:58:22

标签: git vim git-rebase

当我进行交互式rebase时,例如

git rebase -i HEAD~3

rebase交互式编辑器(在我的情况下为vim)打开让我编辑提交到rebase

pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....

如果我现在决定要使用:q中止rebase并退出vim,那么无论如何都要启动rebase。我在Windows上使用git版本1.9.0.msysgit.0

当然我可以删除所有pick行,但如果我更长历史可能会有很多事情要做。还有另一种方式吗?

如何退出rebase交互式编辑器(vim)并中止rebase?

3 个答案:

答案 0 :(得分:205)

如果使用错误代码退出编辑器,则将终止rebase。

要在vim上使用错误代码退出,请执行

:cq

请参阅here和vimdoc here

答案 1 :(得分:43)

只需删除文件中不是注释的所有行。然后将其保存到默认提供的路径并退出编辑器。

结果git在这个rebase中什么都不做。

要删除vim中的所有行,您可以使用

:%d|x

然后保存并退出。

delete all lines of file in Vim

How to exit the Vim editor?

VIM - multiple commands on same line

答案 2 :(得分:3)

删除文本编辑器屏幕中的所有文本,然后使用默认提供的路径保存文件。