一、提交规范的好处
- 便于程序员对提交历史进行追溯,了解发生了什么情况;
- 一旦约束了 Commit Message,意味着我们的每一次提交都必须慎重,不能一股脑的把各种各样的改动都放在一个 git commit 里面,这样一来整个代码改动的历史也将变得更加清晰;
- 格式化的 Commit Message 才可以自动化输出 Change log。
二、提交规范
提交日志的基本格式:
<type>(<scope>): <subject>
type:
- 作用:用于说明 Git Commit 的类别,只允许使用下面的标识。
- 标识关键字:
| 关键字 | 描述 |
|---|---|
| feat: | 新增功能 |
| fix/to: | 修复bug |
| test: | 新增或修改测试用例 |
| perf: | 优化相关(例如提升性能、优化体验) |
| style: | 修改格式(例如代码格式化改动,缺少分号等) |
| refactor: | 重构(例如重命名变量) |
| docs: | 文档(例如对文档的改动) |
| revert: | 回滚到上一个版本 |
| merge: | 代码合并 |
| sync: | 同步主线或分支的bug |
| chore: | 构建过程或者辅助工具的变动 |
scope:
- 作用:用于说明本次提交影响的范围,比如数据层、控制层、视图层等。
- 示例:
- 在 Java 中,可以写 Controller、Service、Dao等
- 在 Angular 中,可以写 location、browser、compile、rootScope等
- 如果你的修改影响的内容不止一个,则可以使用 * 代替
subject:
- 作用:用于对本次提交做一个简短的描述,一般不超过50个字符。
- 注意:
- 建议使用中文
- 结尾不加句号及其他任何标点符号
三、具体示例
// 一般 scope 可以省略不写🤣🤣
feat(controller): 新增日志功能
perf(controller): 优化sql查询效率
fix(controller): 修复文字颜色异常问题