commit message format
2017-02-27 本文已影响26人
给我一炷香的时间
一条提交信息由头部、主体和底部组成。头部由类型、范围和主题组成。
<类型>(<范围>): <主题>
<空行>
<主体>
<空行>
<底部>
头部是必须要有的,但是头部中的范围是可选的。
类型
feat
、fix
和perf
,这三种类型会出现在changelog
中,此外包含breaking change的提交也会出现在changelog
中。
除了上面三种类型,还可以自己决定一些和changelog
不相关的类型,如:docs
、chore
、style
、refactor
、test
等等。
Revert
如果一个提交返回到了以前的提交,那么这个提交应该由revert:
开头,后面跟以前那个提交的头部,主体应该写作This reverts commit <hash>.
。
范围
范围描述了一个提交改变的地方,如$location
、$browser
、$compile
等等。
主题
主题是一个对此次提交的简短的描述,遵循以下规则:
- 只包含必要的描述,使用现在时态("change" not "changed" nor "changes")。
- 第一个字母不要大写
- 末尾不要有点号
主体
同样遵循主题中描述的第一条规则,并且还应该包含此次改变的动机和上一次行为的对比。
底部
底部可以包含breaking change
和本次关闭的issues
。
breaking change
应该由BREAKING CHANGE:
开头,后接一个空格或者两个换行。
例如:
feat($location): 主题
主体内容
BREAKING CHANGE: 描述bc
关闭 #213
commitizen
commitizen是一个方便按格式填写提交信息的工具。
安装
npm install -g commitizen
# 如果还没有安装任何`commitizen adapter`的话,则需要运行下面的命令来安装适配器
commitizen init cz-conventional-changelog --save-dev
安装以后使用git cz
代替git commit
。
完结,撒花!!!