8

Commit Message

(Commitizen是一个格式化commit message的工具。它的安装需要NPM的支持,NPM是Node.js的包管理工具,所以首先安装node.js)

  1. Commitizen安装:

    npm install -g commitizen
  2. 安装changelog,生成changelog的工具:

    npm install -g conventional-changelog conventional-changelog-cli
  3. 检验是否安装成功:

    npm ls -g -depth=0
  4. 项目根目录下创建空的package.json,然后进入到项目目录,执行以下命令会生成对应的项目信息:

    npm init --yes
  5. 运行下面命令,使其支持Angular的Commit message格式:

    commitizen init cz-conventional-changelog --save --save-exact
  6. 进入到项目目录,执行以下命令生成CHANGELOG.md文件:

    conventional-changelog -p angular -i CHANGELOG.md -s
  7. 到这步就成功了,以后,凡是用到git commit命令的时候统一改为git cz,然后就会出现选项,生成符合格式的Commit Message。
  8. 生成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 命令即可。。

注意事项

  1. 把node_modules加入.gitignore忽略

    1. commit的几种类型选项,如下:
      feat 新功能
      fix Bug 修复
      docs 文档更新
      style 代码的格式,标点符号的更新
      refactor 代码重构
      perf 性能优化
      test 测试更新
      build 构建系统或者包依赖更新
      ci CI 配置,脚本文件等更新
      chore 非 src 或者 测试文件的更新
      revert commit 回退
  2. 每次打包生成changelog之后在最后的提交纪录上打tag,tag命名格式为v1.0.0(超过三位changelog不识别)。这样下次生成changelog的时候会在这个tag的基础上增量更新。
  3. changelog中的版本号根据package.json中的version生成,注意不能和你的tag同名否则不生成日志。

playboy5566
3.1k 声望1.2k 粉丝

一个一直在坑里面的前端小学生