【前端工程化】commitlint详细使用流程,规范团队commit提交内容

commitlint:commitlint checks if your commit messages meet the conventional commit format.(commitlint检查提交消息是否符合常规提交格式)

场景

团队协作多人开发,规范git commit -m"..."的提交信息。

使用

【第一步】安装commitlint

$ npm install --save-dev @commitlint/config-conventional @commitlint/cli

【第二步】根目录添加commitlint配置文件commitlint.config.js

module.exports = {extends: ["@commitlint/config-conventional"]
}

【第三步】安装husky

# 能够在项目中方便添加 git hooks(即git 钩子),拦截git commit进行校验# Install Husky v6npm install husky --save-dev
# oryarn add husky --dev# Activate hooksnpx husky install
# oryarn husky install

【第四步】add hooks

执行以下3条命令,在根目录生成一个.husky文件夹,且文件夹下会自动生成一个commit-msg文件 文件中已经写有commitlint命令

echo '
#!/bin/sh
. "\$(dirname "\$0")/_/husky.sh"npx --no -- commitlint --edit ${1}
' > .husky/commit-msgchmod a+x .husky/commit-msg

【第五步】commitlint配置,自定义commit提交内容规则

@commitlint/config常规

git commit -m格式: [optional scope]: [optional body][optional footer(s)]格式分为header body footer三个部分
header# type:提交类型(必选)# optional scope:可选范围(改动了哪个模块,非必选)# description:提交描述(必选)
body(非必选)本次提交的详细描述,修改原因,修改内容
footer(非必选)影响,兼容

常用commit类型

feat: 新功能
fix: 修复 Bug
docs: 文档修改
perf: 性能优化
revert: 版本回退
ci: CICD 集成相关
test: 添加测试代码
refactor: 代码重构
build: 影响项目构建或依赖修改
style: 不影响程序逻辑的代码修改
chore: 不属于以上类型的其他类型(日常事务)
// commitlint.config.js
module.exports = {extends: ["@commitlint/config-conventional"],// 这里定义的任何规则都将覆盖@commitlint/config常规中的规则"rules": {"type-enum": [2, 'always', ['feat', 'fix', 'docs', 'perf', 'revert', 'ci', 'test', 'refactor','build','style','chore']],}
}

测试

$ git add .$git commit -m"commitlint配置修改"

提交的commitlint不规范,git会报错,提交不成功
在这里插入图片描述
重新提交

$git commit -m"fix:commitlint配置修改" 

参考文档

commitlint
rules文档


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部