最近在公司内部需要引入commit规范以及相关配置,但是项目工程过多,一个个单独引用太过于麻烦,后续修改配置、升级想想就头大,于是花了几个小时找了以下资料,再结合自身的思考,写了一个简单的cli工具来完成自动引入commit配置,并把相关规范也写入工具中,以后只需要升级规范,重新运行命令即可更新配置😄。
用于在项目中快速引入 commit message 规范和 commitlint 相关配置规范
实现了自动引入 git-cz
commitizen
commitlint
conventional-changelog-cli
husky
依赖以及封装好的commit规范和commitlint相关配置,开箱即用,只需要安装commitlint-cli
后,运行commitlint-cli
命令后就能生成相关配套设置,简单粗暴。
附上Github地址:commitlint-cli
commit规范和相关配置可以去另外一篇文章看一下: commit规范及自动生成changelog
再说明一下,让我自己一行一行去写规范的代码,太花时间了,直接借用了别人写好的代码,稍微简单修改了一下,附上连接:开箱即用的代码提交规范
- 自动检测 commit 是否规范,不规范不允许提交
- 自动提示 commit 填写格式。不怕忘记规范怎么写
- 集成 git add . && git commit 不需要在执行两个命令
- 自动生成 changelog
- 自动生成以上配置
安装 commitlint-cli
npm i commitlint-cli -D
执行npx init-commitlint
npx init-commitlint
会自动在 package.json 中添加相关配置和命令
{
"scripts": {
"log": "conventional-changelog --config ./node_modules/commitlint-cli/lib/log -i CHANGELOG.md -s -r 0",
"commit": "npm log && git add . && git-cz"
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"config": {
"commitizen": {
"path": "./node_modules/commitlint-cli/lib/cz"
}
}
}
会自动增加 commitlint.config.js
文件
module.exports = {
extends: ['./node_modules/commitlint-cli/lib/lint']
};
npm run commit # npm run log && git add . && git-cz
npm run log # 生成 CHANGELOG
- feat: 一个新特性
- fix: 修了一个 Bug
- docs: 更新了文档(比如改了 Readme)
- style: 代码的样式美化,不涉及到功能修改(比如改了缩进)
- refactor: 一些代码结构上优化,既不是新特性也不是修 Bug(比如函数改个名字)
- perf: 优化了性能的代码改动
- test: 新增或者修改已有的测试代码
- chore: 跟仓库主要业务无关的构建/工程依赖/工具等功能改动(比如新增一个文档生成工具)
有问题欢迎指出,有用欢迎点个赞😊