PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Как изменить сообщение коммита когда он находится в ветке?

Продвинутые темы

Имя (сообщение) коммита в ветке меняют: последнего — через `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).

Другие вопросы раздела