1.提交信息的格式
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
其中,Header 是必需的,Body 和 Footer 可以省略。
不管是哪一个部分,任何一行都不得超过72个字符(或100个字符)。这是为了避免自动换行影响美观。
1.1 Header
1.1.1 type
type用于说明 commit 的类别,只允许使用下面标识。
ci: 更改我们的持续集成文件和脚本(e.g.: Travis,GitLab等)
feat:提交新功能
fix:修复了bug
docs:只修改了文档
style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等)
refactor:代码重构,既没修复bug也没有添加新功能
perf:性能优化,提高性能的代码更改
test: 增加测试代码
revert: 撤销上一次的commit
chore: 构建工具或构建过程等的变动,如:关联包升级等
如果type为feat和fix,则该 commit 将肯定出现在 Change log 之中。其他情况(docs、chore、style、refactor、test)由你决定,要不要放入 Change log,建议是不要。
1.1.2 scope
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
1.1.2 subject
subject是 commit 目的的简短描述,不超过50个字符。
1.2 Body
Body 部分是对本次 commit 的详细描述,可以分成多行。
1.3Footer 部分只用于以下两种情况:
1.3.1不兼容变动
如果当前代码与上一个版本不兼容,则 Footer 部分以BREAKING CHANGE开头,后面是对变动的描述、以及变动理由和迁移方法。
1.3.2关闭 Issue
如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue 。
1.4最后说一下Revert
Revert
还有一种特殊情况,如果当前 commit 用于撤销以前的 commit,则必须以revert:开头,后面跟着被撤销 Commit 的 Header。
例如revert: feat(pencil): add ‘graphiteWidth’ option
This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
Body部分的格式是固定的,必须写成This reverts commit <hash>,其中的hash是被撤销 commit 的 SHA 标识符。
1.5例子
1.5.1 feat
feat(首页): 添加网站主页静态页面
这是一个示例,假设对页面内容进行了一些描述。
这里是备注,可以是放BUG链接或者一些重要性的东西。
1.5.2 fix
fix(支付云接口):修改校验失败的bug
修改手机号校验失败的bug
close #2143
1.5.3 chore
chore(启动脚本): 修改启动脚本
1.5.4 style
style(支付云接口): 添加四要素校验的注释
1.5.5 ci
ci(ukey): 删除ukey的日志文件
1.5.6 test
test(四要素校验):增加测试并发校验
增加测试并发四要素校验的代码,并发用户量可以设置
1.5.7 docs
docs(四要素校验):增加四要素校验说明文档
四要素校验说明文档 《四要素校验说明.doc》
1.5.8 revert
revert:feat(首页): 添加网站主页静态页面
This reverts commit a2d04c0b914785e4ff0cdf4baeea84d8611c7a61
revert: docs add README.md This reverts commit a2d04c0b914785e4ff0cdf4baeea84d8611c7a61.