git — как изменить закоммиченное сообщение?

Если была допущена ошибка в сообщение и команда git commitуже выполнена, не отчаивайтесь — все можно поправить. Рассмотрим два варианта:

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

Данный пункт подразумевает, что вы еще не выполняли команду git push и все изменения хранятся в Вашем локальном репозитории. Выполните команду:

git commit --amend

после выполнения данной команды откроется редактор, установленный по умолчанию, который позволит вам изменить сообщение последнего коммита.

Если комментарий маленький — более удобно изменить комментарий последнего коммита в командной строке, с помощью команды:

git commit --amend -m "новое соошение"
Code language: JavaScript (javascript)

Предупреждение: Перед коммитом убедитесь, что у вас нет внесенных изменений в рабочую копию, иначе они тоже будут закоммичены. (Unstaged изменения не коммитятся)

Как изменить сообщения коммита, который вы уже отправили на сервер?

Если вы уже отправили коммит на сервер с помощью команды git push, то — после внесения изменений в коммит локально (как описано выше) — вам также потребуется выполнить команду push из ключем --force:

git push <название ветка на сервере> --force
Code language: HTML, XML (xml)

или

git push <название ветка на сервере> -f
Code language: HTML, XML (xml)

Предупреждение: при использовании ключа --force, если в удаленной ветке есть коммиты, которых нет в вашей локальной ветке, вы потеряете эти коммиты.

Будьте осторожны при внесении изменений в коммиты, особенно те, которые вы уже отправили на сервер. Внесение изменений в коммиты по существу переписывает их, чтобы они имели другие идентификаторы SHA, что создает проблему, если у других людей есть копии старого коммита, который вы переписали. Любой, у кого есть копия старого коммита, должен будет синхронизировать свою работу с вашим недавно переписанным коммитом, что иногда может быть сложно, поэтому убедитесь, что вы координируете свои действия с другими при попытке переписать общую историю коммитов, или просто избегайте редактирования коммитов.

Добавить комментарий