虽然我们已经要求项目使用 elint了,但是不能保证组员提交代码之前都将 elint中的题解決掉了,我们希望保证代码仓库中的代码都是符合 elint规范的 这时husky就解决了这个问题 它可以防止使用 Git hooks 的一些不好的 commit 或者 push。
安装
npm install --save-dev husky @commitlint/cli @commitlint/config-conventional
配置
- 初始化husky
npx husky install
- 添加 commit-msg 钩子,执行信息校验
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit $1'
- 在项目根目录新建配置文件commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-case': [2, 'always', ['lower-case', 'upper-case']],
'type-enum': [2, 'always', [
'feat', // 新功能
'fix', // 修改
'docs', // 文档
'style', // 样式
'refactor', // 重构
'perf', // 性能
'test', //测试
'chore', // 其他改动
'revert' // 分支回溯
]]
}
}