准备工作
首先安装node.js,已安装的,可以忽略此步骤
brew install node
正式安装
- 安装
Commitizen
:
npm install -g commitizen
- 安装
changelog
npm install -g conventional-changelog conventional-changelog-cli
- 检测是否安装成功
npm ls -g -depth=0
- 得到下面的类似结果,就成功了
/usr/local/lib
├── commitizen@2.9.6
├── conventional-changelog@1.1.7
├── conventional-changelog-cli@1.3.5
└── npm@5.5.1
- 进入你想要使用
git cz
命令的git项目根目录,执行以下命令
npm init --yes
应该会多出一个node_modules文件夹,和package.json文件,package.json就是
- 在项目目录执行以下命令
|
|
可能要加–froce强制覆盖
- 现在就可以使用
git cz
代替git commit
来生成专业的commit了。
目前所有提示都是英文的。
使用效果图
汉化
- 安装cz-customizable
npm install cz-customizable --save-dev
- 再进入项目目录,用cz-customizable初始化一下
commitizen init cz-customizable --save --save-exact
- 修改node_modules/cz-customizable文件夹里的.cz-config.js,将内容替换成中文。
'use strict';
module.exports = {
types: [
{value: '特性', name: '特性: 一个新的特性'},
{value: '修复', name: '修复: 修复一个Bug'},
{value: '文档', name: '文档: 变更的只有文档'},
{value: '格式', name: '格式: 空格, 分号等格式修复'},
{value: '重构', name: '重构: 代码重构,注意和特性、修复区分开'},
{value: '性能', name: '性能: 提升性能'},
{value: '测试', name: '测试: 添加一个测试'},
{value: '工具', name: '工具: 开发工具变动(构建、脚手架工具等)'},
{value: '回滚', name: '回滚: 代码回退'}
],
scopes: [
{name: '模块1'},
{name: '模块2'},
{name: '模块3'},
{name: '模块4'}
],
// it needs to match the value for field type. Eg.: 'fix'
/*
scopeOverrides: {
fix: [
{name: 'merge'},
{name: 'style'},
{name: 'e2eTest'},
{name: 'unitTest'}
]
},
*/
// override the messages, defaults are as follows
messages: {
type: '选择一种你的提交类型:',
scope: '选择一个scope (可选):',
// used if allowCustomScopes is true
customScope: 'Denote the SCOPE of this change:',
subject: '短说明:\n',
body: '长说明,使用"|"换行(可选):\n',
breaking: '非兼容性说明 (可选):\n',
footer: '关联关闭的issue,例如:#31, #34(可选):\n',
confirmCommit: '确定提交说明?'
},
allowCustomScopes: true,
allowBreakingChanges: ['特性', '修复'],
// limit subject length
subjectLimit: 100
};
- 最后,修改package.json,如下配置路径,如果使用git cz报错,大概率是绿框中路径有问题
"config": {
"commitizen": {
"path": "./node_modules/cz-customizable"
},
"cz-customizable": {
"config": "./node_modules/cz-customizable/.cz-config.js"
}