- github文档 https://github.com/conventional-changelog/commitlint
- 提交代码前,自动检查代码规范,如果不符合提交规范,就会提交失败
# Install Husky v6
npm install husky --save-dev
# or
yarn add husky --dev
# Activate hooks
npx husky install
# or
yarn husky install
# Add hook
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
commit规范
@commitlint/config-conventional
https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional
type-enum提交类型
git commit 提交规范参考
https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional#type-enum
- build
- ci 工程配置
- chore 项目工程方面的改动,代码逻辑并未产生任何变化
- docs 文档,文档相关的改动
- feat 新功能
- fix bug修复
- perf 提升了性能
- refactor 重构代码或其他优化举措
- revert
- style 只修改了样式,对代码的格式化改动,代码逻辑并未产生任何变化
- test 增加了测试脚本,新增或修改测试用例
- rollback 回滚
[
'build',
'ci',
'chore',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test'
]
提交案例
echo "foo: some message" # fails
echo "fix: some message" # passes
echo ": some message" # fails
echo "fix: some message" # passes
echo "FIX: some message" # fails
echo "fix: some message" # passes
echo "fix(SCOPE): SOMEMESSAGE" # fails
echo "fix(scope): some message" # passes
echo "fix(scope): some Message" # passes
commit规范配置
commit规范参考 https://juejin.cn/post/6861769180736126983