规范化的优点:
- 可读性好,清晰,不必深入看代码即可了解当前 commit 的作用
- 为 Code Reviewing 做准备
- 方便跟踪工程历史
- 可以直接从 commit 生成 change log
- 提高项目的整体质量,提高个人工程素质
Commit message 格式
标准的 commit message 包括三个部分:Header,Body 和 Footer。
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
# 其中,Header 是必需的,Body 和 Footer 可以省略。
为了方便使用,在提交的的时候省略 Body 和 Footer 的部分,且不限制中英文。
规范示例如下:
<type>(<scope>): <subject>
# 注意冒号':'为英文格式下的冒号,且后别有空格
# 如:feat(miniprogram): 增加了小程序模板消息相关功能
# 如:fix: 修复列表加载失败的问题
Header 部分包括三个字段:type
(必需)、scope
(可选)和subject
(必需)。
(1)type
type
用于说明 commit 的类别,只允许使用下面 11 个标识。
- add:新增功能
- feat:新特性
- fix:修补bug
- docs:文档(documentation)
- style:格式(不影响代码运行的变动)
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
- perf:性能优化
- data:数据相关修改(修改数据脚本或上传数据文件)
- test:增加测试
- chore:构建过程或辅助工具的变动
- update:功能升级
- delete:删除冗余功能,文件或代码(不影响代码运行)
(2)scope
scope
用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
(3)subject
subject
是 commit 目的的简短描述,不超过 50 个字符,可以使用中文。
- 以动词开头,使用第一人称现在时,比如
change
,修改
,而不是changed
或changes
- 如果为英文,开头第一个字母小写
- 结尾不加句号(
.
或。
)
Commit message 格式参考:https://github.com/angular/angular/commits/master