Skip to main content

Конвенция коммитов

Конвенция сообщений коммитов в Git

info

Это адаптировано из Angular's commit convention.

TL;DR:

Заголовки коммитов должны совпадать со следующим выражением:

/^(revert: )?(feat|fix|docs|style|refactor|perf|test|workflow|build|ci|chore|types|wip)(\(.+\))?: .{1,72}/;

Полный формат сообщения

Сообщение о фиксации состоит из заголовка, тела и запятой. Заголовок имеет тип, область и субъект:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Заголовок является обязательным, и область заголовка заголовка является необязательной.

Реверт

Если коммит вернет предыдущее коммит, он должен начинаться с «revert:», после чего следует заголовок отмененного коммита. В теле сообщения должно быть написано: Это отменяет коммит <hash>., где хэш - это SHA отменяемого коммита.

Тип

Если префикс имеет значение feat, fix или perf, он будет отображаться в журнале изменений. Однако, если есть BREAKING CHANGE, коммит всегда будет отображаться в журнале изменений.

Другие префиксы - на ваше усмотрение. Рекомендуемые префиксы: docs, chore, style, refactor и test для задач, не относящихся к ченджлогу.

Область применения

Область действия указывает на то, в каком разделе приложения произошли изменения, например, SlashCommand, ContextMenu или MessageComponents

Тема

Тема содержит краткое описание изменений:

  • Используйте императив, настоящее время: "измениться", а не "изменился" или "изменяется"
  • не пишите первую букву с заглавной буквы
  • Не заканчивайте сообщение точкой (.)

Тело

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

Подвал

Нижний колонтитул должен содержать информацию о Общих изменениях, а также место для ссылки на проблемы GitHub, которые этот коммит закрывает.

Обновляющие изменения должны начинаться со слова Обновляющие изменения: через пробел или две новые строки. Для этого используется остальная часть сообщения коммита.