马士兵-AI人工智能工程师1-4期合集完结
download:3w 51xuebc com
使用husky + commitlint检查提交描述
在团队协作开发中,良好的代码提交描述可以提高代码的可读性、维护性和版本控制。然而,由于个人习惯差异较大,代码提交描述往往难以统一规范,这时候使用工具来检查提交描述就十分必要了。本文将介绍如何使用husky与commitlint来检查代码提交描述的规范性。
- 安装husky
Husky是一个可以用来管理.git/hooks/目录下钩子脚本的工具。它可以在git的某些动作(如提交或合并等)之前执行我们定义的脚本,从而可以帮助我们更好地控制代码质量。安装husky最简单的方法是通过npm:
npm install husky --save-dev
- 安装commitlint
Commitlint是一个用于校验提交信息格式的工具,它会根据预设规则进行检查,如果不符合规则,则会提示错误信息。同样,通过npm安装commitlint也非常方便:
npm install @commitlint/{config-conventional,cli} --save-dev
- 创建commitlint配置文件
为了让commitlint知道要使用哪些规则来检查提交信息,我们需要创建一个.commitlintrc.js文件,并添加以下内容:
module.exports = {
extends: ['@commitlint/config-conventional'],
};
这里我们使用了一个预设的规则集,即config-conventional。这个规则集比较常用,它会检查提交信息的格式是否符合Angular风格的约定,例如:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
其中,type
表示提交类型,如feat
、fix
、docs
等;scope
表示作用域,可以是任意字符串;description
表示简短的描述信息,应该尽量精简但又不失清晰;body
表示详细的描述信息,可以省略;footer
表示一些附加信息,如issue号码、关联的MR等。
- 添加husky和commitlint钩子
我们需要在package.json文件中添加以下配置:
{
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
这样,每次执行提交操作时,husky都会自动调用commitlint来检查提交信息。
- 测试
现在,我们可以开始测试效果了。为了测试,可以先在git仓库中创建一个新的分支,并进行一些随意的修改。然后,执行以下命令提交代码:
git commit -m "this is an invalid commit message"
如果提交信息不符合规则,则会提示以下错误信息:
⧗ input: this is an invalid commit message
✖ subject may not be empty [subject-empty]
✖ type may not be empty [type-empty]
这说明提交信息不符合规范,需要进行修改。
总结
在本文中,我们介绍了如何使用husky和commitlint来检查代码提交描述的规范性。使用这种方式可以帮助开发人员更好地控制代码质量,提高团队协作效率。