Непреднамеренный коммит от Git

Я зафиксировал файл Java, используя

git commit -a

Я забыл добавить файл в указанный коммит, поэтому попытался исправить предыдущий, используя

git commit -a --amend

Когда редактор открылся, я передумал и закрыл редактор, используя :q!,

Затем я сделал git log и мой непреднамеренный коммит прошел успешно.

Кто-нибудь знает, почему Git отправил мой "прерванный" коммит?

1 ответ

Решение

Когда вы вносите изменения в коммит, независимо от того, принудительно ли вы выходите из редактора или чего-либо еще, изменение будет успешным, если сообщение о фиксации не было пустым, когда .git/COMMIT_MESSAGE Файл был последний раз сохранен.

Итак, с git commit --amend, если у вас ранее было сообщение о коммите; вам нужно удалить все сообщение, а затем сохранить буфер. Когда вы выйдете из редактирования, шаг изменения будет отменен.

Другие вопросы по тегам