如何在交互式编辑期间从 vim 内部中止 git 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)
....

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

当然我可以删除所有的 pick行,但是如果我重新设置一个更长的历史记录,可能会有很多工作要做。还有别的办法吗?

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

63798 次浏览

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

因此,git 在这个 rebase 中什么也不做。

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

:%d|x

那就存钱然后退出。

删除 Vim 中的所有文件行

如何退出 Vim 编辑器?

VIM-同一行中的多个命令

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

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

:cq

参见 给你和 vimdoc 给你

例如,如果你在 Windows 上使用记事本 + + :

CtrlA选择一切,然后 DelBackspace删除和 CtrlS保存。如果文件为空,Git 将中止重建基础。

您还可以在命令提示符下按 CtrlC,在运行 git 的命令提示符下停止当前的 rebase 命令。然后运行 git rebase --abort恢复它。

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