Что такое Conventional Commits

Ответ

Conventional Commits — это стандарт форматирования сообщений коммитов, который помогает автоматизировать CHANGELOG, семантическое версионирование и другие процессы. Формат:

<тип>[опционально область]: <описание>

[опционально тело]

[опционально подвал]

Основные типы:

  • feat: – новая функциональность (минорная версия +0.1.0)
  • fix: – исправление бага (патч +0.0.1)
  • BREAKING CHANGE: – изменения, ломающие обратную совместимость (мажор +1.0.0)

Пример:

git commit -m "feat(login): add OAuth2 support

Closes #123
BREAKING CHANGE: old auth endpoints removed"

Плюсы:

  • Четкая история изменений
  • Автоматизация версионирования (например, через semantic-release)
  • Упрощение код-ревью

Ответ 18+ 🔞

А, слушай, вот эта вся хуйня с Conventional Commits, она же не просто так придумана, чтобы мозги разработчикам ебать. Это, блядь, как инструкция к сборке шкафа из Икеи, только для истории твоего кода. Если делать по уму — потом не придётся гадать, на каком этапе и кто какую дичь впилил.

Вот смотри, формат у них простой, как три копейки, но надо в него вникнуть:

<тип>[опционально область]: <описание>

[опционально тело]

[опционально подвал]

Типы, на которых всё держится, их два главных:

  • feat: – это когда ты, сука, не просто код почесал, а реально новую фичу впилил. Для версий это +0.1.0, запомни.
  • fix: – а это когда ты, мудак, накосячил в прошлый раз, а теперь пришёл это исправлять. Патч-версия, +0.0.1.
  • И есть ещё один, страшный, как хуй с горы: BREAKING CHANGE: – это когда ты такой: "А похуй на обратную совместимость, всё ломаем к ебеням!". Мажорка, +1.0.0, всем переписывать интеграции.

Вот тебе живой пример, как это в консоли выглядит:

git commit -m "feat(login): add OAuth2 support

Closes #123
BREAKING CHANGE: old auth endpoints removed"

Видишь? Всё чётко. Добавил OAuth – feat. В логине – (login). Закрыл задачу – Closes #123. И, охуенно, заодно всё сломал – BREAKING CHANGE. Красота, пиздец.

А плюсы-то какие, спросишь? Да овердохуища!

  • История изменений читается, как газета, а не как бред сивой кобылы.
  • Версии сами себе проставляются, через те же semantic-release – ты только коммиты кидай, а оно само решит, когда мажорку, а когда минорку.
  • На ревью смотреть – одно удовольствие, сразу видно, что за коммит и чего от него ждать.

Короче, не будь распиздяем, пиши по конвенции. Потом сам себе спасибо скажешь, когда через полгода надо будет понять, на каком этапе этот ебучий баг с авторизацией появился.