Commit Message 的规范主要包括以下几个部分:
此外,不管是 Header 还是 Body,任何一行都不得超过 72 个字符(或 100 个字符),以避免自动换行影响美观。
1、type
用于说明类型。可分以下几种类型
| feat | 新功能 |
| fix | 修复bug |
| improvement | 对当前功能的改进 |
| docs | 仅包含文档的修改 |
| style | 格式化变动,不影响代码逻辑。比如:清除多余空白、删除分号等 |
| refactor | 重构,既不是新增功能,也不是修改bug的代码改动 |
| perf | 提高性能的修改 |
| test | 添加或修改测试代码 |
| build | 构建工具或外部依赖包的修改 |
| ci | 持续集成的配置文件或脚本的修改 |
| chore | 其他不修改源代码与测试代码的变动 |
| revert | 版本回滚或撤销某次提交 |
2、scope
用于说明影响的范围,比如 views、component、utils 等等。
3、subject
主题,简短描述。一行
对 subject 的补充。可以多行。
Commitizen 是一个撰写符合上面 Commit Message 标准的一款工具。
1、全局安装
npm install -g commitizen cz-conventional-changelog
2、创建 ~/.czrc 文件,写入如下内容
{ "path": "cz-conventional-changelog" }
3、代码提交时使用 git cz 命令来代替 git commit 命令