commit 信息包括三个字段: type (必需), scope(可选) 和 subject(必需)。模板参考如下:

<type>(<scope>): <subject> [<ISSUE_ID>]

<body>

<footer>
  • type
build:修改项目的的构建系统(xcodebuild、webpack、glup等)的提交
ci:修改项目的持续集成流程(Kenkins、Travis等)的提交
chore:构建过程或辅助工具的变化
docs:文档提交(documents)
feat:新增功能(feature)
fix:修复 bug
pref:性能、体验相关的提交
refactor:代码重构
revert:回滚某个更早的提交
style:不影响程序逻辑的代码修改、主要是样式方面的优化、修改
test:测试相关的开发
  • scope

scope 说明 commit 影响的范围,比如数据层,控制层,视图层等等,这个需要视具体场景与项目的不同而灵活变动

  • subject

subject 是对于该 commit 目的的简短描述。使用第一人称现在时的动词开头,比如 modify 而不是 modified 或 modifies 首字母小写,并且结尾不加句号。

  • ISSUEE_ID

这个与公司的需求管理与项目管理有关,假设你的项目放在 github 上,你的需求或者 bug 修复可能会有对应的 issues 记录,你可以加到你的 commit 信息中如 issue-xxxx

  • body

就是 subject 的详细说明

  • footer

可以填写相关的需求管理 issues id。