前言
Git 是目前世界上最先进的分布式版本控制系统(没有之一)。
Git 每次提交代码时,都需要写 Commit Message (提交说明),否则就不允许提交。
$ git commit -m '第一次提交'
在工作中一份清晰简介规范的 Commit Message 能让后续代码审查、信息查找、版本回退都更加高效可靠。
Commit Message 的标准格式
Commit Message 标准格式包括三个部分:Header,Body,Footer
其中,Header 是必需的,Body 和 Footer 可以省略
一、Header
Header 部分只有一行,包括三个字段:type(必需)、scope(可选)、subject(必需)
1. type
用于说明类型。可分以下几种类型
2. scope
用于说明影响的范围,比如数据层、控制层、视图层等等。
3. subject
主题,简短描述。一行
二、Body
对 subject 的补充。可以多行。
三、Footer
主要是一些关联 issue 的操作。
四、Commitizen
Commitizen 是一个撰写符合上面 Commit Message 标准的一款工具。
一、安装
全局安装
1. 下载
npm install -g commitizen cz-conventional-changelog
2. 创建 ~/.czrc 文件,写入如何内容
{ "path": "cz-conventional-changelog" }
3. 这时就可以全局使用 git cz 命令来代替 git commit 命令了
项目局部使用
1. 下载 commitizen
npm install --save-dev commitizen
2. 配置,打开项目的 package.json 文件,配置如下。
{
"scripts": {
"commit": "git-cz",
},
"config": {
"commitizen": {
"path": "node_modules/cz-conventional-changelog"
}
}
}
3. 这时就可以使用 npm run commit 脚本了
二、使用
全局安装使用 git cz 来代替 git commit
局部安装使用 npm run commit 脚本来代替 git commit
三、详细步骤说明
1. 选择此次提交的类型
注意:不要使用 git bash (不能进行键盘上下选择)
2. 输入这次提交的影响范围
如没有,可直接回车跳过
3. 输入这次提交的主题
注意:精简,字数限制。不可跳过
4. 输入这次提交的详细描述
如没有,可直接回车跳过
5. 这次提交是否有突破性变化(是否不向下兼容)
注意:如果输入 y ,会有新的提示
6. 这次提交是否有关联的 issues
注意:如果输入 y ,会有新的提示
7. 完成
8. 查看日志