格式
<type>(<scope>): <subject>
type 类型
- feat – 功能
- fix/to – 修复
- fix – 产生 diff 并完全修复此 bug 适合于一次提交直接修复问题
- to – 只产生 diff 不完全修复此 bug 适合于多次提交 最终修复问题提交时使用 fix
- docs – 文档 指不涉及代码文件的 如 .md 等文件的更新
- style – 格式 涉及代码文件 但是代码不变 仅空格换行注释等不参与编译的内容改变
- refactor – 重构 涉及代码文件 代码被改变但功能不变 如函数名改变或文件改变属于此
- perf – 优化 与重构类似 但是是以提升性能体验为目标的
- test – 测试 对测试代码的更新
- chore – 构建过程或辅助工具的变动 如 CMake 文件
- revert – 回滚到上一个版本
- merge – 合并
- sync – 同步主线或分支的
scope 范围
用于说明 Commit 影响的范围,比如 核心模块、渲染模块、网络模块 等等,视项目不同而不同。
如果一个 Commit 同时影响多个模块,此处以 * 代替。
subject 标题
是 Commit 目的的简短描述,不超过 50 个字符。
- 结尾不加句号或其他标点符号
- 非特指项目中符号时全部使用小写
- 便于程序员对提交历史进行追溯 了解发生了什么情况
- 一个功能一个 Commit 细粒度高