Відповіді:
У вас є два варіанти:
Надайте порожнє повідомлення про фіксацію. Якщо це нова фіксація, і ви ще не зберегли повідомлення, ви можете просто скористатися :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.