Это соглашение помогает упростить ведение истории изменений, автоматизировать анализ изменений в коде и в целом повышает прозрачность для всей команды.
В общем случае коммит имеет следующую структуру:
[type][optional область]: [краткое описание] [optional "тело" коммита] [optional "подвал"]
Текст коммита отвечает на вопросы:
Например:
fix(project1): added ru docs see the issue for details fixed issue #12
Дополнительные типы коммитов не требуются, но разрешены:
После типа коммита через круглые скобки можно указать область затронутого кода, например:
Это помогает понять, что именно изменилось и в каком разделе проекта. Не является обязательным элементом.
Представляет собой краткое изложение изменений кода. Сообщает, что именно сделано в этом коммите. Пишется с маленькой буквы, точка в конце не ставится.
Необязательный блок, в котором можно описать, зачем был сделан коммит, детали реализации и возможные "подводные камни".
Также необязательный блок. В нем указывают ссылки на задачи и "тикеты", к которым относится коммит.