Відповіді:
У вас є два варіанти:
Надайте порожнє повідомлення про фіксацію. Якщо це нова фіксація, і ви ще не зберегли повідомлення, ви можете просто скористатися :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 та використовуючи клавіші зі стрілками, щоб вибрати його, а потім натиснути Видалити. Киньте, :wqщоб застосувати зміни ! Якщо ви користуєтеся, :q!зміни будуть втрачені, і попереднє повідомлення про фіксацію буде використано.При використанні VIM нормально в обох випадках кинути з :cq- VIM вийде з кодом помилки, і комісія буде перервана.
:q!щоб вийти з vim.