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



当我做一个交互式变基时,例如

git rebase -i HEAD~3
变基

交互式编辑器(在我的例子中是 vim)打开,让我编辑要变基的提交

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

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

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

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

如果退出编辑器并显示错误代码,则变基将中止。

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

:cq

看到这里和vimdoc在这里。

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

因此,git 在此变基中什么都不做。

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

:%d|x

然后保存并退出。

删除 Vim 中文件的所有行

如何退出 Vim 编辑器?

VIM - 同一行上的多个命令

例如,

如果您在Windows上使用Notepad++:

Ctrl A 选择所有内容,然后按 Del退格键删除,按 CtrlS 保存。如果文件为空,Git 将中止变基。

您也可以在运行 git 的命令提示符中按 CtrlC 以停止当前的变基命令。然后运行git rebase --abort将其还原。

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

最新更新