git 提交格式化

53 阅读1分钟
  1. package.json

自己安装即可 npm install -D commitizen cz-conventional-changelog validate-commit-msg lint-staged yorkie

{ 
    ... 
    "devDependencies": { 
        ..., 
        "commitizen": "^4.2.5", 
        "cz-conventional-changelog": "^3.3.0", 
        "lint-staged": "^13.2.0", 
        "validate-commit-msg": "~2.14.0", 
        "yorkie": "^2.0.0" 
    },
    "gitHooks": { 
        "pre-commit": "lint-staged", 
        "commit-msg": "validate-commit-msg" 
    }, 
    "lint-staged": { 
        "*.{js,ts,vue}": [ "eslint --fix" ] 
    }, 
    "config": { 
        "commitizen": { 
        "path": "./node_modules/cz-conventional-changelog" }
    } 
}
  1. 新建 文件 .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 
 }

效果:不按格式提交的话:

截图.png 正确的格式: 比如: feat: 新增页面

**注意:feat后的冒号是英文的格式,其后是一个空格**
Git 贡献提交规范 
- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 
  规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular)) 

- `feat` 增加新功能 
- `fix` 修复问题/BUG 
- `style` 代码风格相关无影响运行结果的 
- `perf` 优化/性能提升 
- `refactor` 重构 
- `revert` 撤销修改 
- `test` 测试相关 
- `docs` 文档/注释 
- `chore` 依赖更新/脚手架配置修改等