Git Commitizen 提交规范化、提交信息验证、自动生成changelog

1,048 阅读1分钟

规范提交信息

1、全局安装Commitizen

 npm install -g commitizen

2、在项目根目录下运行下面命令,使其支持angular的 Commit message 格式

commitizen init cz-conventional-changelog --save --save-exact

注意,--save-exact 相当于锁定版本号

此时,package.json新增了这部分内容

"config": {
    "commitizen": {
        "path": "./node_modules/cz-conventional-changelog"
    }
},
 "devDependencies":{
    "cz-conventional-changelog": "^3.1.0"
 }

3、提交命令 (将git commit命令改为git cz命令)

git add --all
git cz

延伸知识:

git add --all和git add . 的区别

  • 1.x版本:
  1. git add --all可以提交未跟踪、修改和删除文件。
  2. git add .可以提交未跟踪和修改文件,但是不处理删除文件。
  • 2.x版本两者效果一致

类别

  1. feat:新功能(feature)
  2. fix:修补 bug
  3. docs:文档(documentation)
  4. style: 格式(不影响代码运行的变动)
  5. refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)
  6. test:增加测试
  7. chore:构建过程或辅助工具的变动
  8. revert:回滚代码

检测提交信息

  • 安装依赖
npm install ghooks  validate-commit-msg --save-dev
  • package.json配置
"config": {
    "ghooks": {
      "commit-msg": "validate-commit-msg"
    }
}

自动生成CHANGELOG?

  • 全局安装
$ npm install conventional-changelog-cli -g 
  • package.json配置
 "scripts":{
   "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
}
  • 运行 npm run changelog