规范主要参照主流的 angular 规范。
( ):
格式说明
type
提交 commit 的类型
feat: 新功能
fix: 修复问题
docs: 修改文档
style: 修改代码格式,不影响代码逻辑
refactor: 重构代码,理论上不影响现有功能
test: 增加修改测试用例
自定义:
ui:调整了 UI 样式,不影响逻辑
wip:work in progress,某个 feat 开发过程中相关操作
pods:修改依赖
del:删除废弃的资源、代码
other:用于难以分类的类别(不建议使用,但一些如删除不必要的文件,更新.ignore之类的可以使用)
scope
说明 commit 影响的范围,针对的模块。大多数时候不用声明。
subject
用一句话清楚的描述这次提交做了什么。不要超过 50 个字符。结尾不要有句号。
body
Body 部分是对本次 commit 的详细描述,可以分成多行。每行不要超过 72 个字符。
有两个注意点:
使用第一人称现在时,比如使用change而不是changed或changes。
应该说明代码变动的动机,以及与以前行为的对比。
Footer
当有非兼容修改(Breaking Change)时必须在这里描述清楚
关联相关 issue,如
Closes #1, Closes #2, #3
例子
fix(compile): [BREAKING_CHANGE] couple of unit tests for IE9
Older IEs serialize html uppercased, but IE9 does not...
Would be better to expect case insensitive, unfortunately jasmine does
not allow to user regexps for throw expectations.
Closes #392
BREAKING CHANGE: Breaks foo.bar api, foo.baz should be used instead