前端技巧:git commit提交规范( 二 )


使用commitizen时 , 首先通过上下键控制指向你想要的 type 类型 , 分别对应有上面提到的feat、fix、docs、perf等 , 然后会让你选择本次提交影响到的文件 , 后面会让你分别写一个简短的和详细的提交描述 , 最后会让你去判断本次提交是否是BREAKING CHANGE或者有关联已开启的issue 。 最后 , 当时查看提交历史时 , 你会看到这样的commit message:
docs(docs): 更新README文件
validate-commit-msgcommitizen可以保证自己本地的commit message规范 , 但是无法保证队友也是规范的 , 所以需要其他工具来检测队友的提交记录是否规范 。 使用validate-commit-msg 检查队友的commit message规范

  1. 安装npm install validate-commit-msg husky -D添加package.json文件配置"husky": {"hooks": {"commit-msg": "validate-commit-msg"}}
  2. 自定义校验格式(可选)添加一个.vcmrc文件 , 配置对象如下:{"types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"],"scope": {"required": false,"allowed": ["*"],"validate": false,"multiple": false},"warnOnFail": false,"maxSubjectLength": 100,"subjectPattern": ".+","subjectPatternErrorMsg": "subject does not match subject pattern!","helpMessage": "","autoFix": false}
  3. 提交示例:git commit -m 'feat(main.js): 添加路由'
生成CHANGELOG
  1. conventional-changelog 安装npm install -g conventional-changelog-cli# 生成CHANGELOG.md , 并覆盖掉以前的内容conventional-changelog -p angular -i CHANGELOG.md -s -r 0# 生成所有发布的 Change logconventional-changelog -p angular -i CHANGELOG.md -w -r 0
  2. 注意事项
  • conventional-changelog -p angular -i CHANGELOG.md -w只能在命令行中 log 出 CHANGELOG 的内容 , 不会生成文件 , 如果要生成文件需要使用 conventional-changelog -p angular -i CHANGELOG.md -s 。 更多的 config 可以使用 conventional-changelog --help 查看