33 lines
3.4 KiB
Markdown
33 lines
3.4 KiB
Markdown
# 🛠️ Conventional Commits
|
||
|
||
Conventional Commits — соглашение о формате сообщений коммитов
|
||
|
||
---
|
||
## 📝 Основные тезисы Conventional Commits
|
||
* Разработчик должен придерживаться следующей структуры коммитов:
|
||
```
|
||
<type>(<scope>): <subject>
|
||
|
||
<body>
|
||
|
||
<footer>
|
||
```
|
||
- Язык написания коммитов может быть любой (лучше договориться с участниками проекта, какой конкретно язык будете использовать). Но если пишете на английском, писать нужно в настоящем времени (пр. added - неправильно, add - правильно).
|
||
- У коммита должен быть `заголовок`, может быть тело и нижний колонтитул.
|
||
- Заголовок коммита должен начинаться с `типа` (_type_), указывающего на специфику внесенных в кодовую базу изменений, и завершаться описанием.
|
||
Примеры типов приведены на изображении:
|
||

|
||
- Наряду с обязательными _feat_, _fix_ (использование которых строго регламентировано), допускаются и другие типы.
|
||
- У коммита может быть `область` (_scope_). Она характеризует фрагмент кода, которую затронули изменения. Область следует за типом коммита. Стандарт не регламентирует четкий список областей. Примеры областей: eslint, git, analytics и т.д.
|
||
- Описание коммита должно быть сразу после типа/области.
|
||
- `Тело коммита` может быть использовано для детализации изменений. Тело должно быть отделено от описания пустой строкой.
|
||
- `Нижний колонтитул` следует использовать для указания внешних ссылок, контекста коммита или другой мета информации. Нижний колонтитул должен быть отделен от тела пустой строкой.
|
||
- В Нижнем колонтитуле можно указать `BREAKING CHANGE` - изменение в коде, которое ломает обратную совместимость. То есть, после такого изменения код, который раньше работал с этим модулем/библиотекой/функцией, может перестать работать.
|
||
- Чтобы указать breaking change, нужно:
|
||
1. Добавить в описание **`BREAKING CHANGE:`** и пояснение;
|
||
2. Или поставить в типе коммита **восклицательный знак (`!`)**.
|
||
|
||
---
|
||
## 📝 Примеры
|
||
|
||
Примеры Conventional Commits можно увидеть в git log репозитория. Все коммиты были написаны с использованием CC. |