[关闭]
@qidiandasheng 2019-04-09T02:21:50.000000Z 字数 1481 阅读 1343

Commit message 和 Change log

使用工具


Commitizen 使用

全局安装:

  1. npm install -g commitizen cz-conventional-changelog
  2. echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

安装好之后git commit -m ""替换为git cz即可,效果如下图:

屏幕快照 2019-04-08 下午7.35.59.png-97.8kB

commitlint 使用

安装:

  1. npm i -D @commitlint/config-conventional @commitlint/cli

在专门的 commitlint 配置文件 commitlint.config.js 中配置如下:

  1. module.exports = {
  2. extends: ['@commitlint/config-conventional']
  3. };

husky 安装:

  1. npm install husky --save-dev

创建package.json文件:

  1. npm init --yes

在package.json里写入以下配置:

  1. "husky": {
  2. "hooks": {
  3. "commit-msg": "commitlint -e $GIT_PARAMS"
  4. }
  5. }

生成 Changelog

  1. npm install -g conventional-changelog-cli
  2. cd my-project
  3. conventional-changelog -p angular -i CHANGELOG.md -s -r 0

上面这段命令太长的话可以在package.json内写入以下配置,然后直接执行npm run changelog即可:

  1. "scripts": {
  2. "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
  3. }

更多参数,参考conventional-changelog --help

  1. conventional-changelog -p angular -i CHANGELOG.md -s -r 0

该命令会覆盖以前的 changelog, -r表示从最新的 release 向前追溯有多少个 release 被生成,0表示重新生成所有 changelog。

输出

以下是我输出的一个内容,每一个tag都会生成一个标题,下面是对应的提交记录,如果最新的没打tag,则如我第一个显示的那样[1.0.0]。然后标题后面的()里表示的是哪两个tag之间的提交。

  1. # [1.0.0](/compare/1.2.1...1.0.0) (2019-04-08)
  2. ### Features
  3. * 未打tag的内容 9157ed4
  4. ## [1.2.1](/compare/1.2.0...1.2.1) (2019-04-08)
  5. ### Bug Fixes
  6. * fa f87d46b
  7. ### Features
  8. * 测试 fc4602a
  9. # [1.2.0](/compare/1.1.2...1.2.0) (2019-04-08)
  10. ### Features
  11. * 测试 e279c8b
  12. ## [1.1.2](/compare/1.1.1...1.1.2) (2019-04-08)
  13. ### Features
  14. * 加入检查脚本 8b06a1b
  15. ## [1.1.1](/compare/1.1.0...1.1.1) (2019-04-08)
  16. # [1.1.0](/compare/6bc08e7...1.1.0) (2019-04-08)
  17. ### Bug Fixes
  18. * fix bug1 29dce1c
  19. ### Features
  20. * 测试1 6bc08e7
  21. * 测试2 0a43758
  22. * 测试3 4361bf7

参考

使用 conventional-changelog-cli 生成 changelog

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注