Коммиты

Коммит должен представлять из себя некоторое законченное смысловое изменение. Коммиты стоит делать атомарными. Суть коммита должна быть понятна из сообщения. Язык сообщения (русский/английский) определяется индвидуально для проекта.

Сообщение коммита

Сообщение коммита должно иметь следующую структуру:

    ссылки_на_задачу_из_баг_трекера [action]: название_подсистемы: пояснение

Пример сообщения для GitLab:

    #213 [fix] Billing: исправил расчет стоимости оказанных услуг

Пример сообщения для Jira:

    DEX213 [fix] Billing: исправил расчет стоимости оказанных услуг

Номер issue

Изменения должны делаться в рамках определенного issue (это может быть как задача, так и дефект), чтобы можно было быстро восстановить историю изменению и понять причину изменения кода. Если дефект или задача не заведена и изменение срочное или нетребующее заведения issue, эту часть можно сообщения можно опустить.

Action

Action (действие) помогает понять, какие именно изменения в код вносились. Action может принимать следующие значения:

  • add: была добавлена новая функциональность/класс/метод/etc
  • remove: была удалена функциональность/класс/метод/etc
  • fix: были внесены исправления в рамках дефекта
  • change: были внесены изменения в контракты/логику
  • up: зависимости проекты были обновлены на более новую версию
  • down: зависимости проекты были обновлены на более старую версию
  • wip: работа в процессе и ее выполнение не помещается в один коммит; после завершения работы все измениия вливабтся в основную ветку с уже другим action. Если явно ничего не указано, предполагается, что указан именно этот action

Название подсистемы

Если проект большой и состоит из нескольких подсистем, необходимо указывать те, в которые были внесены изменения. Если проект маленький, то эту часть можно пропустить

Пояснение

В пояснении должно быть короткая информация о сути внесенных в код изменений, объясняющих назначение коммита