如何规范 Git 提交

·  阅读 324

概要

规范 Git 提交有利于团队协作、定位 bug 位置、寻找功能代码,而且规范的提交可以通过工具生成CHANGELOG.md文件,从而方便开发者或用户追踪项目的开发信息和功能特性。

本文值得思考的三个内容:

  • 如何规范 git 提交信息,以什么样的规范去约束?
  • 如何对用户的提交信息做出校验?
  • 如何生成CHANGELOG.md文件

规范 Git 提交的实践步骤

1、初始化项目并安装依赖

// 首先从一个空的 git 项目开始
yarn init -y

// 安装 commitizen
sudo yarn global add commitizen

// 安装 @commitlint/cli
yarn add @commitlint/cli -D

// 安装 @commitlint/config-conventional
yarn add @commitlint/config-conventional -D

// 安装 conventional-changelog
yarn add conventional-changelog -D

// 安装 conventional-changelog-cli
yarn add conventional-changelog-cli -D

// 安装 cz-conventional-changelog
yarn add cz-conventional-changelog -D

// 安装 husky
yarn add husky@4.2.5 -D

// 安装 rimraf
yarn add rimraf -D
复制代码

2、修改 package.json

修改 package.json,增加如下代码

  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "husky": {
    "hooks": {
      "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
    }
  },
  "scripts": {
    "log": "rimraf CHANGELOG.md && conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md"
  }
复制代码

3、添加配置文件 commitlint.config.js 在根目录添加配置文件,commitlint.config.js,用以指定校验规则

module.exports = {
    extends: ['@commitlint/config-conventional']
}
复制代码

Notecommitlint需要配置一份校验规则, @commitlint/config-conventional就是符合Angular规范的一份校验规则

如何使用

1、直接提交

// 不规范提交会被拒绝
git commit -m '这是一次不规范的提交'

// 规范化提交才能通过
git commit -m "chore: commit message"
复制代码

2、使用 git cz 代替 git commit

// git cz 会启动一个工具帮助我们自动生成 git commit 信息
git cz 
复制代码

符合规范的标准

// type(必需)、scope(可选)和subject(必需)。
<type>(<scope>): <subject>
复制代码

type 的值有如下类型:

yv2zkt.png

参考

本文总结自Cz工具集使用介绍 - 规范Git提交说明,感谢他(她)的分享

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改