Сообщение коммита: как его писать
Обновлено 31 июля 2026 г.
Сообщение коммита объясняет, зачем сделано изменение, тому, кто откроет историю через полгода. Чаще всего это ты сам.
fix, правки, asdf, финал2 не скажут ничего ни коллеге, ни тебе. Искать по истории приходится именно по этим строкам, так что тридцать секунд на сообщение окупаются.
Форма простая. Первая строка короткая, примерно до 50 символов, в повелительном наклонении и без точки в конце: что коммит делает с проектом. Дальше пустая строка. За ней тело, где главное - почему сделано изменение. Как оно сделано, видно из diff.
$ git commit -m "Fix crash when the login form is submitted empty" -m "The handler read user.email without checking that user exists.
An empty submit produced a null user, so the page 500'd."
$ git log -1
commit c6cebf9577b5cb2bac9c2493594f89e358a40eaf
Author: Anna Petrova <anna@example.com>
Date: Tue Jul 21 21:26:37 2026 -0400
Fix crash when the login form is submitted empty
The handler read user.email without checking that user exists.
An empty submit produced a null user, so the page 500'd.Два флага -m подряд дают абзац заголовка и абзац тела. Если запустить git commit без -m, git откроет редактор, и там писать многострочное сообщение удобнее.
Слева то, что писать не надо, справа то же самое по-человечески:
fix -> Fix crash when the login form is submitted empty
правки -> Add search to the sidebar
asdf -> Remove the unused image loader
обновление -> Update the Postgres driver to 3.2Conventional commits
Во многих проектах первая строка начинается с типа изменения: feat:, fix:, docs:, refactor:, test:, chore:. Получается fix: crash on empty login form. Это соглашение, а не правило git: по типам собирают changelog и определяют номер версии. Обязательным оно становится там, где проверку повесили на CI. Пишут так в проекте - пиши так же; не пишут - не навязывай.
Частые ошибки
Первая строка длиной в абзац: GitHub и другие площадки обрезают её примерно на 72 символах, и конец мысли пропадает. Тело, которое пересказывает diff («поменял три строки в файле»), вместо причины. Сообщение в прошедшем времени вперемешку с повелительным - выбирай одну форму и держись её, а в чужом проекте смотри, как принято там. Опечатку в последнем сообщении чинит git commit --amend, пока коммит не ушёл на сервер.
Где это в учебнике
Подробный разбор - Глава 7. Как git используют в командах. Рядом пригодятся git commit и git log.
Потренироваться руками - в интерактивном уроке Три зоны и коммит.