Как изменить сообщение коммита когда он находится в ветке?
Продвинутые темы
Имя (сообщение) коммита в ветке меняют: последнего — через `git commit --amend`, более раннего — через интерактивный rebase (`git rebase -i`). После — force push, если коммит уже запушен.
Изменить последний коммит
git commit --amend -m "Новое сообщение"Меняет сообщение последнего коммита (создаёт новый коммит с новым хешем).
Изменить более ранний коммит
Интерактивный rebase:
git rebase -i HEAD~3 # последние 3 коммитаВ открывшемся списке заменить pick на reword (или r) у нужного коммита:
reword a1b2c3 Старое сообщение
pick d4e5f6 ...Git откроет редактор для нового сообщения.
После изменения, если коммит запушен
Изменение сообщения меняет хеш → нужен force push:
git push --force-with-lease--force-with-lease безопаснее (не затрёт чужие коммиты).
Предостережения
- Не менять историю общих веток (main/develop) — сломает работу коллег.
- Менять только на своих feature-ветках.
- Если коммит не запушен — force push не нужен.
Коротко для собеседования
Имя коммита меняют: последнего — git commit --amend -m "..."; более раннего — git rebase -i HEAD~N, заменив pick на reword. Оба меняют хеш, поэтому если коммит запушен — нужен git push --force-with-lease (безопаснее). Менять историю только на своих feature-ветках, не в общих (main).