Как прервать перезагрузку git в интерактивном редакторе

Когда я делаю интерактивную переадресацию, например

git rebase -i HEAD~3

открывается интерактивный редактор переадресации (vim в моем случае), позволяющий мне редактировать коммиты для rebase

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

Если я теперь решила, что я хочу прервать rebase и выйти из vim, используя :q, rebase начнется в любом случае. Я использую git version 1.9.0.msysgit.0 для окон.

Конечно, я могу просто удалить все строки pick, но это может быть много, если я переустанавливаю более длинную историю. Есть ли другой способ?

Как я могу выйти из интерактивного редактора rebase (vim) и прервать переадресацию?

Ответ 1

Если вы хотите выйти из vim с кодом ошибки, сделайте

:cq

и он прервет перестановку. См. здесь и vimdoc здесь.

Ответ 3

Если вы используете Notepad ++ в Windows, например:

Ctrl A, чтобы выбрать все, затем Del или Backspace для удаления и Ctrl S сохранить. Git прервет восстановление, если файл пуст.

Вы также можете нажать Ctrl C в командной строке, где Git работает, чтобы остановить текущую команду rebase. Затем запустите git rebase --abort, чтобы вернуть его.

Ответ 4

Удалите весь текст на экране текстового редактора, затем сохраните файл по умолчанию.