открытие
В команде есть разные стили отправки кода (git commit), а некоторые люди вообще не имеют понятия о спецификации коммита, поэтому когда мы вернемся, чтобы узнать, в какой версии проблема, будет очень стыдно😅, сложно Быстро локализовать проблему. Спецификация представления кода особенно важна для стандартизации проекта! Ниже приведен плагин спецификации отправки кода, который я сделалvue-cli-plugin-commitlint(модифицированный/обернутый обычный журнал изменений-угловой). Из коробки!
Введение vue-cli-plugin-commitlint
vue-cli-plugin-commitlintОн написан в виде плагина vue и может быть выполненvue add commitlintИспользуйте его напрямую, если это не проект Vue, вы можете настроить его самостоятельно в соответствии со следующей конфигурацией.
комбинироватьcommitizen commitlint conventional-changelog-cli husky conventional-changelog-angular, для упаковки, установки в один клик и готовых спецификаций отправки кода.
Функция
- Автоматически определять, является ли фиксация стандартизированной, если она не стандартизирована, ее нельзя отправить
- Автоматически запрашивать коммит для заполнения формата. Не бойтесь забыть, как написать спецификацию
- Интеграция git add .&& git commit без выполнения двух команд
- Автоматически генерировать журнал изменений
настроить
- Если вы являетесь проектом vue-cli3, вы можете использовать его напрямую
vue add commitlint
- Если вы не являетесь проектом vue-cli3
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
- добавить в package.json
{
"scripts": {
"log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0",
"cz": "npm run log && git add . && git cz"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"config": {
"commitizen": {
"path": "./node_modules/vue-cli-plugin-commitlint/lib/cz"
}
}
}
Добавьте файл commitlint.config.js
module.exports = {
extends: ['./node_modules/vue-cli-plugin-commitlint/lib/lint']
};
использовать
npm run cz # git add . && git commit -m 'feat:(xxx): xxx'
npm run log # 生成 CHANGELOG
- Отправка кода npm run cz
-
При выборе типа автоматически запрашивается
- (Необязательно) Объем изменений в этом представлении
- (обязательно) Напишите краткое описание изменения
- (необязательно) Предоставьте более подробное описание изменения
- (необязательно) Есть ли несовместимые изменения?
- (необязательно) Влияет ли это изменение на некоторые открытые проблемы
демо журнал изменений
правило
| каноническое имя | описывать |
|---|---|
| docs | Только измененная документация, такая как README, CHANGELOG, CONTRIBUTE и т.д. |
| chore | Измените процесс сборки или добавьте зависимые библиотеки, инструменты и т. д. |
| feat | добавить функцию |
| fix | исправлять ошибки |
| merge | объединить ветвь |
| perf | Связанные с оптимизацией, такие как повышение производительности, опыт |
| refactor | Рефакторинг кода, никаких новых функций или исправлений ошибок |
| revert | откат к предыдущей версии |
| style | Изменяйте только пробелы, форматируйте отступы и т. д., не меняя логику кода. |
| test | Тестовые случаи, включая модульные тесты, интеграционные тесты и т. д. |
Суммировать
В настоящее время у меня есть несколько проектов, использующих эту спецификацию, и это не слишком круто!
адрес проекта:GitHub.com/falling snow-Вик Т…
добро пожаловать в пр, звезда