SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Системы и инструменты

Как изменить сообщение последнего Git-коммита

Сообщение входит в содержимое коммита. Его изменение через amend создаёт новый объект и новый hash, а не редактирует уже существующий коммит на месте.

Последний локальный коммит

git status
git show --stat --oneline HEAD
git commit --amend --only -m "Уточнённое сообщение"
git show --stat --oneline HEAD

--only вместе с --amend позволяет не включать в заменяющий коммит уже подготовленные посторонние изменения индекса. Всё равно проверьте результат и рабочее дерево до и после операции.

Если коммит уже отправлен

Не переписывайте общую ветку автоматически. У других участников могут быть ссылки и новые коммиты на старом основании. Согласуйте правила проекта; для исправления описания иногда достаточно pull request или заметки без изменения опубликованной истории.

Обычный push после amend может быть отклонён как non-fast-forward. Это не основание слепо добавлять --force: сначала выясните состояние удалённой ветки и наличие чужих изменений.

Старый коммит

Interactive rebase с reword может изменить более раннее сообщение, но перепишет и последующие commit IDs. Сначала сохраните восстановимую ссылку и убедитесь, что такая операция разрешена для этой ветки. Для простой опечатки последнего ещё не опубликованного коммита amend обычно существенно проще.

Документация