Commit Message
(Commitizen是一个格式化commit message的工具。它的安装须要NPM的支持,NPM是Node.js的包管理工具,因此首先安装node.js)
-
Commitizen安装:javascript
npm install -g commitizen
-
安装changelog,生成changelog的工具:java
npm install -g conventional-changelog conventional-changelog-cli
-
检验是否安装成功:node
npm ls -g -depth=0
-
项目根目录下建立空的package.json,而后进入到项目目录,执行如下命令会生成对应的项目信息:git
npm init --yes
-
运行下面命令,使其支持Angular的Commit message格式:shell
commitizen init cz-conventional-changelog --save --save-exact
-
进入到项目目录,执行如下命令生成CHANGELOG.md文件:npm
conventional-changelog -p angular -i CHANGELOG.md -s
- 到这步就成功了,之后,凡是用到git commit命令的时候统一改成git cz,而后就会出现选项,生成符合格式的Commit Message。
-
生成CHANGELOG:json
- conventional-changelog -p angular -i CHANGELOG.md -s (该命令不会覆盖之前的 Change log,只会 在CHANGELOG.md的头部加上自从上次发布以来的变更)
- conventional-changelog -p angular -i CHANGELOG.md -s -r 0 (生成全部发布的 Change log
- 或者方便使用直接写入package.json的scripts字段:
{
"scripts": {
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
}
}
直接运行 npm run changelog 命令便可。。性能优化
注意事项
-
把node_modules加入.gitignore忽略工具
- commit的几种类型选项,以下:
feat 新功能
fix Bug 修复
docs 文档更新
style 代码的格式,标点符号的更新
refactor 代码重构
perf 性能优化
test 测试更新
build 构建系统或者包依赖更新
ci CI 配置,脚本文件等更新
chore 非 src 或者 测试文件的更新
revert commit 回退
- 每次打包生成changelog以后在最后的提交纪录上打tag,tag命名格式为v1.0.0(超过三位changelog不识别)。这样下次生成changelog的时候会在这个tag的基础上增量更新。
- changelog中的版本号根据package.json中的version生成,注意不能和你的tag同名不然不生成日志。