commit 规范

Header 分为三个部分 type, scope, summary,其中 type 和 summary 为必填项,scope 可以省略,格式如下:

1
<type>(<scope>): <summary>
  • Type:

用于说明 git commit 的类别,只允许使用下面的标识。

- feat: 新功能(feature)。

- fix: 修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。

- docs: 文档(documentation)。

- style: 格式(不影响代码运行的变动)。

- refactor: 重构(即不是新增功能,也不是修改bug的代码变动)。

- perf: 优化相关,比如提升性能、体验。

- test: 增加测试。

- chore: 构建过程或辅助工具的变动。

- revert: 回滚到上一个版本。
  • Scope

Scope 用于说明 commit 影响的范围,比如 Controller、DAO、View 等等,视项目不同而不同。例如在 Angular 中可以是:

  • animations

  • bazel

  • benchpress

  • common

  • compiler

  • compiler-cli

  • core

  • elements
    等等,如果其中包含了多个 scope,可以用逗’*‘隔’。

  • Summary

Summary 是对 commit 的一个简短的描述,一般 Git Commit Head 总共不超过 50 个字符,所以 summary 必须精简。对于英文的 commit summary,第一,要使用第一人称,现在时,比如 change,不是 changed 也不是 changes,第二,首字母无需大写,第三,句尾不要标点符号。中文除了时态,其他也一样。

根据上述规范 git commit message header 可以如下:

1
2
fix(Controller): request url map typo