Ответы:
У вас есть два варианта:
Предоставьте пустое сообщение о коммите. Если это новый коммит, и вы еще не сохранили сообщение, вы можете просто использовать :q!(выйти без сохранения). Если вы уже сохранили (или вносите изменения в предыдущий коммит), просто удалите все сообщения журнала и сохраните снова. Это можно сделать с помощью ggdG+ :wqв Vim.
Пусть редактор выйдет с ненулевым кодом выхода. В Vim вы можете использовать :cq(выйти с кодом ошибки).
Стоит отметить, что вы всегда можете сбросить свою рабочую копию в состояние, в котором она находилась до фиксации с git reset HEAD^.
git reset HEAD^больше, ваша оболочка может интерпретировать ^ как продолжение строки. Попробуйте git reset "HEAD^", git reset HEAD^^или git reset HEAD~1вместо этого, ответьте на этот вопрос: stackoverflow.com/questions/14203952/git-reset-asks-more
:q!не работает при внесении изменений в коммит. Он не обновляет сообщение о коммите, но выполняет изменение :-(:cq полностью отменяет поправку.Подводить итоги:
git commit) прекратите использование :q!.git commit --amend) Удаляйте сообщение фиксации (только первые несколько строк, не начинающиеся с #), например, удерживая v и используя клавиши со стрелками, чтобы выделить его, а затем нажав Delete. Выйти, :wqчтобы применить изменения ! Если вы используете :q!изменения, они будут потеряны и будет использовано предыдущее сообщение о коммите.При использовании VIM в обоих случаях можно выйти :cq- VIM завершит работу с кодом ошибки и фиксация будет прервана.
:q!для выхода из vim.