git commit message规范
LiLiucan
Web Developer#
Commit message格式每条commit message包含如下几部分:header、body和footer。header有一个固定的格式,包含三部分:type、scope和subject。
一条commit message的标准格式如下:
header是必须的,header中的scope是可选的。 commit message的每一行文字最好不要超过100个字符,这样的话可以保证易读性。
#
Commit message类型commit message类型也就是上面说的type,有如下几种:
- revert: 回退一个commit,subject中需要写明被回退的commit的hash,例如:revert: This reverts commit [hash]
- feat: 新特定
- fix:修复bug
- docs:文档修改
- style:一些对代码实际意义没有影响的修改(例如格式化,增加逗号,空格等等)
- refactor: 既不是新特性也不是修复bug
- perf:性能优化
- test:单元测试或者集成测试相关的修改
- chore:构建流程及工程化相关的修改
#
Scopescope为commit的影响范围,如果一个项目有多个模块,这个scope就可以对应一个模块。 以zzb-js-sdk这个项目的commit message为例:
#
Subjectsubject用于简明扼要的描述修改的内容:
- 使用祈使句,比如:修改了...
- 如果用英文,不要大写首字母
- 结尾不要用标点
#
Body和subject一样,这部分应该尽量简明扼要。写清楚此次修改的动机以及和修改之前的差别。
#
Footer这部分用于说明破坏性的修改(Breaking Changes)以及需要关闭的github issuses。
我觉的不同的项目可以根据自己的实际情况定制这部分。我的做法是在这里放此次修改相关的jira链接(如果有的话)。
#
一个示例一个包含完整内容的commit message差不多是这个样子: