commitLint和husky实现代码提交校验
2024-02-19 21:14:24
前言
在团队开发中,规范化的代码提交有助于提高代码质量和团队协作效率。规范化的代码提交包括但不限于以下方面:
- 提交信息格式一致:提交信息应该包含提交类型、提交范围和提交说明,并且应该按照一定的格式书写。
- 提交信息内容准确:提交信息应该准确地提交的内容,并且应该包含足够的细节信息,以便其他开发者能够理解提交的意图。
- 提交信息语气友好:提交信息应该使用友好的语气,并且应该避免使用攻击性或负面的语言。
为了实现代码提交的规范化,可以使用一些工具来帮助团队。commitlint和husky就是两个优秀的工具,可以帮助团队实现代码提交的规范化。
commitlint
commitlint是一个用于检查提交信息的工具。commitlint可以根据预定义的规则来检查提交信息,并给出相应的提示信息。commitlint支持多种提交信息格式,包括Conventional Commits、Angular Commit Message Format和Custom Format。
husky
husky是一个用于管理git钩子的工具。git钩子是一种在git操作执行前后自动触发的脚本。husky可以帮助团队在提交代码、推送到远程仓库等操作之前,自动执行一些任务,例如检查提交信息、运行单元测试等。
如何使用commitlint和husky实现代码提交校验
要使用commitlint和husky实现代码提交校验,需要按照以下步骤进行操作:
- 安装commitlint和husky
npm install --save-dev commitlint husky
- 创建.commitlintrc文件
.commitlintrc文件用于配置commitlint的规则。commitlint支持多种提交信息格式,团队可以根据自己的需要选择一种提交信息格式。以下是一个示例的.commitlintrc文件:
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-case": [2, "always", "lower-case"],
"type-enum": [
2,
"always",
["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "revert", "style", "test"]
]
}
}
- 创建.huskyrc文件
.huskyrc文件用于配置husky的钩子。husky支持多种钩子,团队可以根据自己的需要选择需要触发的钩子。以下是一个示例的.huskyrc文件:
{
"hooks": {
"pre-commit": "commitlint -E HUSKY_GIT_PARAMS"
}
}
- 在package.json中添加husky
在package.json中添加husky,以便在运行npm命令时自动执行husky的钩子。以下是一个示例的package.json文件:
{
"scripts": {
"commit": "husky install && husky run pre-commit"
}
}
- 运行npm命令
运行npm命令,以便安装husky的钩子并执行pre-commit钩子。以下是一个示例的命令:
npm run commit
如果提交信息不符合commitlint的规则,则husky会给出相应的提示信息。
结语
commitlint和husky是两个优秀的工具,可以帮助团队实现代码提交的规范化。通过使用commitlint和husky,团队可以提高代码质量和协作效率。