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

规范提交信息

一、全局安装Commitizennode

npm install -g commitizen

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

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

注意,–save-exact 至关于锁定版本号web

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

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

三、提交命令 (将git commit命令改成git cz命令)json

git add --all
git cz

延伸知识:svg

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