使用 commitizen 规范 Git 提交说明

前言

Git 是目前世界上最先进的分布式版本控制系统(没有之一)。

Git 每次提交代码时,都需要写 Commit Message (提交说明),否则就不允许提交。

$ git commit -m '第一次提交'

在工作中一份清晰简介规范的 Commit Message 能让后续代码审查、信息查找、版本回退都更加高效可靠。

Commit Message 的标准格式

Commit Message 标准格式包括三个部分:HeaderBodyFooter

<type>(<scope>): <subject>
// 空一行
<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. 查看日志

发布于 2020-04-22 11:18