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

本文介绍了如何通过commitlint和husky在团队协作中确保Git提交信息遵循常规提交格式。首先,安装commitlint和配置commitlint.config.js。接着,安装husky并激活git钩子。然后,设置commit-msg钩子以执行commitlint校验。最后,自定义commitlint规则,例如限制提交类型。当提交信息不符合规则时,git将阻止提交,提示错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 v6
	npm install husky --save-dev
# or
	yarn add husky --dev

# Activate hooks
	npx husky install
# or
	yarn husky install

【第四步】add hooks

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

echo '
#!/bin/sh
. "\$(dirname "\$0")/_/husky.sh"

npx --no -- commitlint --edit ${1}
' > .husky/commit-msg

chmod a+x .husky/commit-msg

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

@commitlint/config常规

git commit -m格式: 
	<type>[optional scope]: <description>
	[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文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值