November 29
Шпаргалка по Conventional Commits
Система Conventional Commits помогает писать единообразные коммиты, которые легко читать, анализировать и автоматически использовать в релизах.
Собрал базовые примеры использования, чтобы документация была всегда под рукой.
Основная идея
Каждый коммит должен отвечать на три простых вопроса:
- Что изменили? — тип (
type) - Где? — область (
scope) — необязательно, но очень рекомендуется - Зачем и что именно?» — короткое и понятное описание (
subject)
<type>[optional scope]: <subject> [optional body] [optional footer]
1. Типы коммитов
feat(auth): добавить refresh token механизм
fix(profile): корректно сохранять изменения аватара
docs(readme): обновить раздел по установке проекта
style(ui): выровнять отступы в модальном окне
refactor(api): упростить структуру сервисов
perf(table): ускорить рендер на 20%
test(cart): покрыть логику пересчёта сумм
build: обновить Webpack до версии 5
chore: почистить скрипты в package.json
2. Scope
Всегда, когда это помогает локализовать изменение. Хорошие примеры областей:
3. Subject
- Пишем в повелительном наклонении, как будто даём команду коду.
- Не ставим точку в конце.
- Максимум ясности, минимум слов.
- Если в команде принято соглашении о привязке задач к коммитам, можно указать номер задачи
4. Body
Используем только если нужно объяснение:
refactor(order): вынести расчет скидки в отдельный модуль Чтобы упростить дальнейшую поддержку и подготовить почву для многоуровневой системы скидок.
5. Footer
Closes #123
Если коммит ломает обратную совместимость, обязательно указываем:
feat(api): изменить структуру ответа метода /users BREAKING CHANGE: метод возвращает объект вместо массива