Коммиты¶
Коммит должен представлять из себя некоторое законченное смысловое изменение. Коммиты стоит делать атомарными, т.е. в одном коммите изменения должны быть максимально сфокусированы. Не рекомендуется делать коммиты с громадными изменениями, тем более по нескольким задачам одновременно (кроме тех случаев, когда одно исправление сразу решает несколько задач).
Почему: атомарные изменения легче откатывать, отменять, переносить в другие ветки. Также это дисциплинирует делать изменения более компактным. Еще один плюс - более простой
merge
в другие ветки.
Суть коммита должна быть понятна из сообщения. Язык сообщения - русский. Сообщение говорит о проделанной работе, поэтому используется прошедшее время.
Сообщение коммита¶
Сообщение коммита должно иметь следующую структуру:
ссылки_на_задачу_из_баг_трекера: название_подсистемы: комментарий
Пример сообщения для связки Jira
:
SAC-321 Billing: исправлены цены на страницы с общей информацией
Номер issue¶
Изменения должны делаться в рамках определенного issue
(это может быть как задача, так и дефект), чтобы можно было быстро восстановить историю изменению и понять причину изменения кода. Если дефект или задача не заведена и изменение срочное или не требующее заведения issue
, эту часть можно сообщения можно опустить.
Почему: Указываем номер задачи для связи коммита и задачи в Jira, чтобы потом можно было легче понять ход работы над задачей, восстановить контекст.
Название подсистемы¶
Если проект большой и состоит из нескольких подсистем, необходимо указывать те, в которые были внесены изменения. Если проект маленький, то эту часть можно пропустить.
Почему: Название подсистемы указываем, чтобы быстро понять, какие компоненты нужно будет обновить.
Комментарий¶
В комментарии должна быть короткая информация о сути внесенных в код изменений, объясняющих назначение коммита.
Почему. Комментарий нужен, чтобы быстро понять, чтобы было сделано в рамках коммита (невсегда очевидно, зачем были сделаны изменения, просмотр кода в рамках коммита помогает, но на понимание требуется больше времени).