Commit Message
(Commitizen 是一个格式化 commit message 的工具。它的安装需要 NPM 的支持,NPM 是 Node.js 的包管理工具,所以首先安装 node.js)
-
Commitizen 安装:
npm install -g commitizen
-
安装 changelog,生成 changelog 的工具:
npm install -g conventional-changelog conventional-changelog-cli
-
检验是否安装成功:
npm ls -g -depth=0
-
项目根目录下创建空的 package.json,然后进入到项目目录,执行以下命令会生成对应的项目信息:
npm init --yes
-
运行下面命令,使其支持 Angular 的 Commit message 格式:
commitizen init cz-conventional-changelog --save --save-exact
-
进入到项目目录,执行以下命令生成 CHANGELOG.md 文件:
conventional-changelog -p angular -i CHANGELOG.md -s
- 到这步就成功了,以后,凡是用到 git commit 命令的时候统一改为 git cz, 然后就会出现选项,生成符合格式的 Commit Message。
-
生成 CHANGELOG:
- 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 回退
- commit 的几种类型选项,如下:
- 每次打包生成 changelog 之后在最后的提交纪录上打 tag,tag 命名格式为 v1.0.0(超过三位 changelog 不识别)。这样下次生成 changelog 的时候会在这个 tag 的基础上增量更新。
- changelog 中的版本号根据 package.json 中的 version 生成,注意不能和你的 tag 同名否则不生成日志。