规范主要参照主流的 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 IE9Older IEs serialize html uppercased, but IE9 does not...Would be better to expect case insensitive, unfortunately jasmine doesnot allow to user regexps for throw expectations.Closes #392BREAKING CHANGE: Breaks foo.bar api, foo.baz should be used instead
