открытие
В команде есть разные стили отправки кода (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-Вик Т…
добро пожаловать в пр, звезда