前言
commitlint 是什么?
commitlint 是一个 git commit 校验约束工具。
就是当我们运行
git commmit -m 'xxx'时,来检查'xxx'是不是满足团队约定好的提交规范的工具。
安装
安装@commitlint/config-conventional @commitlint/cli
cnpm install --save-dev @commitlint/config-conventional @commitlint/cli
安装成功之后的package.json中可以看到
💥 其他
使用npm安装的时候有报错
npm ERR! invalid options argument,(不知道为什么)
但是换成cnpm安装就正常了
安装 husky
cnpm install husky --save-dev
husky 是一个增强的 git hook 工具,可以在 git hook 的各个阶段执行我们在 package.json 中配置好的 npm script。
借助husky在每次 commit 时执行 commitlint来检查我们输入的 message
安装git钩子
安装git钩子
npx husky install
启用适配commitlint的commit-msg hook
npx husky add .husky/commit-msg 'npx commitlint --edit $1
commitlint --edit <文件名>:执行 commitlint 命令行工具,并使用--edit选项,从一个文件里提取 commit 内容来进行校验。校验规则由commitlint.config.js配置文件来指定,reference-cli$1:在新版的 husky 中$HUSKY_GIT_PARAMS变量已不再使用,取而代之是$1,文档地址
🎨 测试一下效果:
git add .
git commit -m "feat: test"
可以看到提示我们配置commitlint.config.js文件
commitlint 提交规范
提交格式
git commit -m <type>[optional scope]: <description> //注意冒号后面有空格
- type:提交的改动类型(如新增、修改、更新等)
- optional scope:标识此次提交主要涉及到代码中哪个模块
- description:一句话描述此次提交的主要内容
常用type
| type | 描述 |
|---|---|
| feat | 新增功能 |
| fix | bug 修复 |
| style | 不影响程序逻辑的代码修改(修改空白字符,补全缺失的分号等) |
| refactor | 重构代码(既没有新增功能,也没有修复 bug) |
| docs | 文档更新 |
| test | 增加测试 |
| chore | 构建过程或辅助工具的变动 |
示例:
git commit -m 'feat: 增加 xxx 功能'
git commit -m 'bug: 修复 xxx 功能'
配置commitlint.config.js
输入命令创建配置文件(在根目录)
echo " module.exports = {extends: ['@commitlint/config-conventional']}; " > commitlint.config.js
rule配置
rule由name和配置数组组成,如:'name:[0, 'always', 72]'
数组第一位,参数设置错误级别
- 0:
disable - 1:
warning - 2:
error
数组第二位,是否应用
- always
- never
数组第三位,rule的值
具体规则参考 👉 更多
关于配置文件 👉 更多
🎨 现在再测试一下
不规范的写法会报错
规范写法
参考资料:
🎨【点赞】【关注】不迷路,更多前端干货等你解锁
往期推荐
👉 Vite基础入门