8. Соглашение о коммитах
8.1. Требования к именам коммитов
- Названия коммитов должны быть согласно гайдлайну (opens in a new tab)
- Для того чтобы удобно было контролировать таски в Jira (opens in a new tab) делаем следующее. В начале коммита добавляем имя таски
ST-1057
,TM-15
,IT-535
(буквы - сокращенное имя проекта, цифры - порядковый номер задачи)
- Перечень типов коммитов, которые разрешено использовать (тип коммита должен быть только в нижнем регистре):
init
feat
fix
refactor
test
docs
chore
build
ci
- Должен использоваться present tense ("add feature" not "added feature")
- Должен использоваться imperative mood ("move cursor to..." not "moves cursor to...")
✅ Пример правильного сообщения о коммите
ST-1057 feat: add banner
8.1.1. init
- используется для начала проекта / таски.
init commit message
ST-1057 init: start youtube-task
ST-1057 init: start mentor-dashboard task
8.1.2. feat
- это реализованная новая функциональность из технического задания (добавил поддержку зумирования, добавил footer, добавил карточку продукта). Примеры:
feat commit message
ST-1057 feat: add basic page layout
ST-1057 feat: implement search box
ST-1057 feat: implement request to youtube API
ST-1057 feat: implement swipe for horizontal list
ST-1057 feat: add additional navigation button
ST-1057 feat: add banner
ST-1057 feat: add social links
ST-1057 feat: add physical security section
ST-1057 feat: add real social icons
8.1.3. fix
- исправил ошибку в ранее реализованной функциональности. Примеры:
fix commit message
ST-1057 fix: implement correct loading data from youtube
ST-1057 fix: change layout for video items to fix bugs
ST-1057 fix: relayout header for firefox
ST-1057 fix: adjust social links for mobile
8.1.4. refactor
- новой функциональности не добавлял / поведения не менял. Файлы в другие места положил, удалил, добавил. Изменил форматирование кода (white-space, formatting, missing semi-colons, etc). Улучшил алгоритм, без изменения функциональности. Примеры:
refactor commit message
ST-1057 refactor: change structure of the project
ST-1057 refactor: rename vars for better readability
ST-1057 refactor: apply eslint
ST-1057 refactor: apply prettier
8.1.5. test
- добавление недостающих тестов или коррекция существующих тестов. Примеры:
docs commit message
ST-1057 test: add unit tests for user registration process
ST-1057 test: update API tests to cover new endpoints
ST-1057 test: iImprove end-to-end test coverage
8.1.6. docs
- используется при работе с документацией/readme проекта. Примеры:
docs commit message
ST-1057 docs: update readme with additional information
ST-1057 docs: update description of run() method
ST-1057 docs: add detailed documentation for API endpoints
8.1.7. chore
- рутинные задачи и обслуживание проекта. Примеры:
docs commit message
ST-1057 chore: update build system configuration
ST-1057 chore: update dependencies to the latest versions
ST-1057 chore: remove obsolete files and folders
8.1.8. build
- изменения, влияющие на систему сборки или внешние зависимости. Примеры:
docs commit message
ST-1057 build: add 'clean' script to package.json for build system
ST-1057 build: bump version of axios to 1.5.1.
8.1.9. ci
- изменения в файлах и скриптах конфигурации непрерывной интеграции (примеры областей: deployment.yaml, Dockerfile, Jenkinsfile и т.д). Примеры:
docs commit message
ST-1057 ci: configure Travis CI for automatic testing
ST-1057 ci: set up GitHub Actions for deployment
ST-1057 ci: update Jenkins job configuration