Commitizen

55 阅读2分钟

什么是Commitizen

Commitizen 是专为团队设计的发布管理工具。

Commitizen 假设您的团队使用标准的提交规则的方式,并在此基础上,它可以提高项目的版本、创建变更日志和更新文件。

安装Commitizen

官网上提供了其他的方式可以进行安装,官方的方式是在Python环境下安装的,使用的是pip包管理工具,本文介绍的是在node环境下安装的,使用的是npm包管理工具,不要混乱,后面的配置步骤不一样

建议npm的版本 >5

Commitizen官网

本文使用的Commitizen的npm地址

npm install commitizen -g

配置Commitizen

在全局安装完成后,使用的时候需要进行配置分为两种

1.项目中使用

需要进行初始化操作

# npm
commitizen init cz-conventional-changelog --save-dev --save-exact

# yarn
commitizen init cz-conventional-changelog --yarn --dev --exact

# pnpm
commitizen init cz-conventional-changelog --pnpm --save-dev --save-exact

执行命令后他做了三件事情

  1. 安装 cz-conventional-changelog 适配器 npm 模块
  2. 将其保存到package.jsondependencies``devDependencies
  3. config.commitizen密钥添加到文件的根目录package.json,如下所示:
  "config" : {
     "commitizen" : {
       "path" : " cz-conventional-changelog " 
    } 
  }

2.在全局中使用

在全局中进行初始化,需要全局安装cz-conventional-changelog并进行配置

安装

npm install -g cz-conventional-changelog

配置

echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc

执行后会在user目录下生成一个.czrc的文件,不要动这个文件,如果错误的删除了,在执行一次这个命令即可

如果出现如下错误提示

The config file at "C:\Users\aa\.czrc" contains invalid charset, expect utf8

你也可以手动的创建一个文本文件,然后在里面写入{ "path": "cz-conventional-changelog" }然后修改文件名为.czrc 也可以

使用Commitizen

git cz

他会代替git commit命令进行提交,根据git cz 的提示即可规范的进行提交代码了

全局配置的可以在任意位置使用git cz 或者是 npx cz, 在项目中配置的只能在项目中可用

tip 可能遇到的问题

在全局中进行配置的时候,不知道是不是window系统的原因,在输入git cz的时候

The config file at "C:\Users\DX\.czrc" contains invalid charset, expect utf8

会提示如上的一个错误提示

修改方法,手动的去新建一个这个文件,把内容写入即可,原因是echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc创建的文件编码不是utf-8