git提交规范
统一团队 Git commit 日志标准,便于代码 review 与版本发布。采用 Angular Git commit 日志规范 作为基本格式。
1. Git commit 规范
1.1. 格式
<type>(<scope>): <subject>示例:
fix(ngRepeat): fix trackBy function being invoked with incorrect scope1.2. type
主要的提交类型如下:
| Type | 说明 | 备注 |
|---|---|---|
| feat | 提交新功能 | 常用 |
| fix | 修复 bug | 常用 |
| docs | 修改文档(如 README、CHANGELOG) | |
| style | 修改格式,例如格式化代码、空格、拼写错误等(不改代码逻辑) | |
| refactor | 重构代码,没有添加新功能也没有修复 bug | |
| test | 添加或修改测试用例 | |
| perf | 代码性能调优 | |
| chore | 修改构建工具、构建流程、更新依赖库、文档生成逻辑 | 例如 vendor 包 |
| revert | 回退某一版本 |
1.3. scope
表示此次 commit 涉及的文件范围,可以使用 * 来表示涉及多个范围。
1.4. subject
描述此次 commit 涉及的修改内容。
- 使用祈使句(动词开头)、动宾短语。
- 第一个字母不要大写。
- 不要以句号结尾。
2. Git commit 工具
安装 commitizen 与 cz-conventional-changelog,使用 cz-cli 交互式生成符合规范的提交信息。
可选配套:
validate-commit-msg:不符合格式的日志拒绝提交- 客户端与 GitLab server hook 同时配置,保障提交规范
conventional-changelog-cli:统一 changelog 文档信息生成
