Коммиты
Коммит должен представлять из себя некоторое законченное смысловое изменение. Коммиты стоит делать атомарными. Суть коммита должна быть понятна из сообщения. Язык сообщения (русский/английский) определяется индвидуально для проекта.
Сообщение коммита
Сообщение коммита должно иметь следующую структуру:
ссылки_на_задачу_из_баг_трекера [action]: название_подсистемы: пояснение
Пример сообщения для GitLab
:
#213 [fix] Billing: исправил расчет стоимости оказанных услуг
Пример сообщения для Jira
:
DEX213 [fix] Billing: исправил расчет стоимости оказанных услуг
Номер issue
Изменения должны делаться в рамках определенного issue
(это может быть как задача, так и дефект), чтобы можно было быстро восстановить историю изменению и понять причину изменения кода. Если дефект или задача не заведена и изменение срочное или нетребующее заведения issue
, эту часть можно сообщения можно опустить.
Action
Action
(действие) помогает понять, какие именно изменения в код вносились. Action
может принимать следующие значения:
add
: была добавлена новая функциональность/класс/метод/etcremove
: была удалена функциональность/класс/метод/etcfix
: были внесены исправления в рамках дефектаchange
: были внесены изменения в контракты/логикуup
: зависимости проекты были обновлены на более новую версиюdown
: зависимости проекты были обновлены на более старую версиюwip
: работа в процессе и ее выполнение не помещается в один коммит; после завершения работы все измениия вливабтся в основную ветку с уже другимaction
. Если явно ничего не указано, предполагается, что указан именно этотaction
Название подсистемы
Если проект большой и состоит из нескольких подсистем, необходимо указывать те, в которые были внесены изменения. Если проект маленький, то эту часть можно пропустить
Пояснение
В пояснении должно быть короткая информация о сути внесенных в код изменений, объясняющих назначение коммита