前排提供原生文档
可以直接看 第三个,然后瞄一眼第四个. 能看明白就不要看下文我写的东西了.
依赖
npn i husky@7.0.1 @commitlint/cli@13.1.0 @commitlint/config-conventional@13.1.0 --dev
husky 是一个 git hooks 管理工具,支持所有的hooks,通过它可以实现 一部分ci 集成,比如 git push 前进行test lint校验,以及 git commit lint
commitlint 提供git commit 校验能力,规范的 commit 能够提升团队协作体验,便于追踪代码改动
- 注意这里使用
husky@7,husky在这个版本破坏性更新了配置方法,如果你使用的低版本,下文的husky配置是不合适的.
安装 husky
- yarn 下安装 husky ,和 npm 有些区别,yarn文档
在package.json添加script - "prepare":"husky install" 然后执行它,进行husky初始化
//
{
"scripts": {
"prepare":"husky install",
...
},
...
}
npm run prepare
或者使用@/husky/init
npx husky-init && npm install
添加husky commit-msg hook
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
创建 commitlint 配置文件
这里采用 root/commitlint.config.js 的格式(其他格式),使用默认 lint 配置
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [0, 'always', Infinity]
}
}
关于 commit 约束,请看这篇约定式提交