为什么需要
- 降低Review成本,可以明确知道本次提交的改变和影响
- 规范整个Team的提交习惯,对技术素养的养成有益
- 可以通过统一工具,抽取规范的message自动形成change log
GitHub Angular Demo
目前Github的Angular项目,就是完全采用规范的Git Message来进行日常的提交管理和发布管理的,下面是这个项目的Commit记录,和自动根据commit生成的change log
遵循什么规范
目前,使用较多的是AngularJS规范
# 包括三个部分:Header,Body 和 Footer
<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
Header
包括三个字段:type(必需)、scope(可选)和subject(必需)
任何一行都不能超过100个字符
type
用于说明 commit 的类别,类型包含如下几种
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
- refactor: A code change that neither fixes a bug nor adds a feature