介绍
commitlint
一个用于Git存储库的代码提交规范的校验、约束的工具。支持常用规范,例如Angular
的规范,同时也支持自定义提交风格,支持生成changelog
日志文件。
安装cli
# 使用Npm安装
npm install --save-dev @commitlint/cli
# 使用Yarn安装
yarn add @commitlint/cli -D
commitlint配置
使用共享的配置
- @commitlint/config-angular
- @commitlint/config-conventional
- @commitlint/config-lerna-scopes
- @commitlint/config-patternplate
- conventional-changelog-lint-config-atom
- conventional-changelog-lint-config-canonical
- commitlint-config-jira
示例:
# 使用Npm安装angular规范
npm install --save-dev @commitlint/config-angular
# 使用Yarn安装angular规范
yarn add @commitlint/config-angular -D
# 新建一个commitlint.config.js配置文件
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js
安装husky
安装husky
可以自动拦截git命令,我们可以拦截git commit
,执行git commit
之前使用commitlint
检测提交信息是否符合规范。
# 使用Npm安装angular规范
npm install --save-dev husky
# 使用Yarn安装angular规范
yarn add husky -D
我们可以在package.json
中配置husky
的配置,也可以新建一个.huskyrc
、 .huskyrc.json
、.huskyrc.yaml
、 .huskyrc.yml
、 .huskyrc.js
或者 husky.config.js
文件来作为huskyrc
的配置文件。我们的配置如下:
{
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
脚本配置
我们可以在package.json
中配置一个脚本,用npm
命令来运行检测,那之后我们就可以直接使用npm run commit
来进行git代码提交了。
{
"scripts": {
"commit": "commit"
}
}
官方文档
如果需要自定义规范,则可以查阅官方文档