什么是Commitizen
Commitizen 是专为团队设计的发布管理工具。
Commitizen 假设您的团队使用标准的提交规则的方式,并在此基础上,它可以提高项目的版本、创建变更日志和更新文件。
安装Commitizen
官网上提供了其他的方式可以进行安装,官方的方式是在Python
环境下安装的,使用的是pip包管理工具,本文介绍的是在node环境下安装的,使用的是npm包管理工具,不要混乱,后面的配置步骤不一样
建议npm的版本 >5
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
执行命令后他做了三件事情
- 安装 cz-conventional-changelog 适配器 npm 模块
- 将其保存到
package.json
或dependencies``devDependencies
- 将
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