当我进行交互式变基时,例如
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
退出vim,变基无论如何都会开始。我在 Windows 上使用 git 版本1.9.0.msysgit.0
。
当然,我可以删除所有
pick
行,但如果我重新建立更长的历史记录,可能需要做很多事情。还有别的办法吗?
如何退出 rebase 交互式编辑器 (vim) 并中止 rebase?
只需从文件中删除所有非注释行即可。然后将其保存到默认提供的路径并退出编辑器。
因此 git 在此 rebase 中不会执行任何操作。
要删除 vim 中的所有行,您可以使用
:%d|x
然后保存并退出。
例如,如果您在 Windows 上使用 Notepad++:
CtrlA选择所有内容,然后Del或Backspace删除并CtrlS保存。如果文件为空,Git 将中止变基。
您也可以在 git 运行的命令提示符下按 CtrlC 来停止当前的 rebase 命令。然后运行
git rebase --abort
将其恢复。
删除文本编辑器屏幕中的所有文本,然后使用默认提供的路径保存文件。
当然,我可以删除所有选择行,但如果我重新设置更长的历史记录,可能需要做很多事情。还有别的办法吗?
是的,您可以在第一行中添加错误,例如从 pick 中删除“p”:
ick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....