开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第26天,点击查看活动详情
前言
在使用git
管理项目代码时,由于不同的模块需要不同的程序员去编写提交,这就导致在提交代码执行git commit -m '描述信息'
时,通常会有五花八门的描述信息,当其他人了解提交信息时不一定能理解,所以可不可以能对提交的信息进行规范化格式?目前已经提出了约定式提交这个概念。有需求的同时就会出现工具,我们可以使用git提交规范化工具commitizen
去解决代码提交规范的问题。
规范化提交代码
安装commitizen
npm install -g commitizen@4.2.4
还需要安装插件cz-customizable
npm i cz-customizable@6.3.0 --save-dev
在package.json
中配置
···
"config": {
"commitizen": {
"path": "node_modules/cz-customizable"
}
}
···
接着在根目录下新建配置文件.cz-config.js
,其中需要完善以下配置项
types
: 可选类型messages
: 消息步骤skipQuestions
: 跳过的问题- ···
module.exports = {
// 可选类型
types: [
{ value: 'feat', name: 'feat: 新功能' },
{ value: 'fix', name: 'fix: 修复' },
{ value: 'docs', name: 'docs: 文档变更' },
{ value: 'style', name: 'style: 代码格式(不影响代码运行的变动)' },
{
value: 'refactor',
name: 'refactor: 重构(既不是增加feature,也不是修复bug)'
},
{ value: 'perf', name: 'perf: 性能优化' },
{ value: 'test', name: 'test: 增加测试' },
{ value: 'chore', name: 'chore: 构建过程或辅助工具的变动' },
{ value: 'revert', name: 'revert: 回退' },
{ value: 'build', name: 'build: 打包' }
],
// 消息步骤
messages: {
type: '请选择提交类型:',
customScope: '请输入修改范围(可选):',
subject: '请简要描述提交(必填):',
body: '请输入详细描述(可选):',
footer: '请输入要关闭的issue(可选):',
confirmCommit: '确认使用以上信息提交?(y/n/e/h)'
},
// 跳过问题
skipQuestions: ['body', 'footer'],
// subject文字长度默认是72
subjectLimit: 72
}
当提交代码时,使用git cz
替代git commit -m '描述信息'
,会按照messages
配置项中的顺序一个一个执行
选择类型type
,选项对应types
配置项中的配置
输入修改范围customScope
直到最后确认是否提交完成后,推送到仓库即可。注意配置在skipQuestions
中的项不会执行而是直接跳过
最终效果如下