Git
提交信息的格式要满足如下/^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|dep)(\(.+\))?: .{1,50}/
正则表达式
示例
如下提交信息出现在
Features
大标题,compiler
次标题下:feat(compiler): add 'comments' option
展示如下:
Features compiler: add 'comments' option
如下提交信息出现在
Bug Fixes
大标题,v-model
次标题下,跟随着#28
问题的链接:fix(v-model): handle events on blur close #28
如下提交信息出现在
Performance Improvements
大标题,core
次标题下,BREAKING CHANGE
下一行跟随着中断性变更的理由:perf(core): improve vdom diffing by removing 'foo' option BREAKING CHANGE: The 'foo' option has been removed.
如果以下提交和提交667ecc1在同一版本下,则该提交信息不会出现在变更日志中。如果没有在同一版本下,该提交将出现在“Reverts”大标题下
revert: feat(compiler): add 'comments' option This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
完整提交信息的格式
提交信息包含标题行、主体内容和页脚注释,其中,标题行包含修改类型type
、修改影响的范围(作用域)scope
、修改内容概述subject
。
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
以上,首行是标题行,标题行是必填的,标题行的作用域scope
是可选的。
Revert
如果某个提交回滚到上一次提交,提交信息应该以revert:
开始,后续是该提交的标题行。
主体内容应该写"This reverts commit <hash>"
,其中,<hash>
指向要回滚的提交。
Type
如果提交信息的标题行前缀是feat
、fix
或perf
,则该提交信息会出现在更新日志中。其中,中断性变更永远都会出现在更新日志中,不论标题行前缀是什么。
其它前缀用哪个,需要根据情况自行酌办。推荐使用的前缀docs
, chore
, style
, refactor
和test
,这些前缀的提交信息不会出现在更新日志中。
Scope
作用域可以是任何内容。
如文章开头示例中的core
,compiler
, ssr
, v-model
, transition
...
Subject
概述是当前提交的简要描述
- 使用单数、现在时,如“change",而不是"changed"过去式,也不是"changes"。
- 首字母不要大写
- 不要以
"."
结束
Body
和Subject
一样,使用单数、现在时,如“change",而不是"changed"过去式,也不是"changes"。
主体内容应该包括更新的动机,以及这次提交与以前的提交的对比。
Footer
页脚注释应该包含关于中断性变更的任何信息,也是标注此提交关闭了哪条GitHub问题的地方。
中断性变更应该以单词BREAKING CHANGES:
开头,":"
后跟随一个空格或两个换行符。紧随`BREAKING CHANGES: 后的其余提交消息将用于标注解决了什么问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。