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