conventional commits - BotBooker/BotBooker GitHub Wiki
В Git‑коммитах используют префиксы (типы) — это стандартизированные метки, которые сразу показывают, какой характер у внесённых изменений. Это упрощает чтение истории коммитов, автоматическую генерацию changelog и работу CI/CD‑систем.
Ниже — основные типы по стандарту Conventional Commits и их значение.
-
feat(от feature — «функция»)
Что значит: добавлен новый функционал или существенно улучшена существующая функция.
Примеры:feat: добавить поиск по пользователямfeat: интегрировать API погодыfeat: создать компонент карточек товаров
-
fix(от fix — «исправить»)
Что значит: исправлена ошибка (баг), которая мешала работе.
Примеры:fix: устранить ошибку 500 при запросе /usersfix: исправить отображение кнопки «Сохранить»fix: починить вход с неверным паролем
-
perf(от performance — «производительность»)
Что значит: изменения, которые ускоряют работу приложения (оптимизация алгоритмов, кэширование и т. п.).
Примеры:perf: уменьшить время загрузки страницыperf: оптимизировать сортировкуperf: кэшировать ответы API
-
refactor(от refactor — «рефакторинг»)
Что значит: переработка кода без добавления функций и без исправления ошибок. Цель — улучшить читаемость, структуру, поддерживаемость.
Примеры:refactor: переименовать переменные для ясностиrefactor: выделить общий код в отдельный методrefactor: упростить валидацию формы
-
style(от style — «стиль»)
Что значит: изменения форматирования (пробелы, отступы, точки с запятой), которые не влияют на логику программы.
Примеры:style: убрать лишние пробелыstyle: добавить отступы между функциямиstyle: исправить стили заголовков
-
test(от test — «тест»)
Что значит: добавлены или изменены тесты (юнит‑тесты, интеграционные тесты и т. п.).
Примеры:test: добавить юнит‑тесты для валидацииtest: исправить тестовые данные
-
docs(от documentation — «документация»)
Что значит: изменены документы (README, комментарии, API‑документация).
Примеры:docs: обновить инструкцию по установкеdocs: исправить опечатки в README.mddocs: добавить лицензию
-
build(от build — «сборка»)
Что значит: изменения в системе сборки (Webpack, npm, зависимости, скрипты сборки).
Примеры:build: обновить зависимостиbuild: добавить плагин минификации CSSbuild: удалить устаревшие скрипты
-
ci(от continuous integration — «непрерывная интеграция»)
Что значит: изменены настройки CI/CD (Travis CI, GitHub Actions, конвейеры).
Примеры:ci: обновить конфигурацию Travis CIci: добавить этап сборкиci: исправить ошибки в CircleCI
-
chore(от chore — «рутина»)
Что значит: мелкие вспомогательные изменения, которые не попадают в другие категории (чистка репозитория, обновление метаданных, правка конфигов, не влияющих на сборку).
Примеры:chore: очистить старые веткиchore: обновить email в контактахchore: добавить иконку загрузки
-
revert(от revert — «отменить»)
Что значит: откат предыдущего коммита (например, если изменения оказались ошибочными).
Примеры:revert: отменить коммит «feat: добавить аутентификацию»revert: вернуть версию документации
Стандартный формат:
<type>(<scope>): <description>
-
<type>— префикс (например,feat,fix). -
<scope>— область изменения (опционально; например,parser,ui,api). -
<description>— краткое описание изменений (без точки в конце, с маленькой буквы).
Пример:
feat(auth): добавить вход через Google
- Читаемость: сразу видно, что изменилось.
- Автоматизация: инструменты (например, Semantic Release) парсят префиксы для генерации версий и changelog.
- Согласованность: команда использует единый стиль, меньше путаницы.