1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【前端工程化】commitlint详细使用流程 规范团队commit提交内容

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

时间:2024-03-24 21:22:07

相关推荐

【前端工程化】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格式: <type>[optional scope]: <description>[optional body][optional footer(s)]格式分为header body footer三个部分header# type:提交类型(必选)# optional scope:可选范围(改动了哪个模块,非必选)# description:提交描述(必选)body(非必选)本次提交的详细描述,修改原因,修改内容footer(非必选)影响,兼容

常用commit类型

feat: 新功能fix: 修复 Bugdocs: 文档修改perf: 性能优化revert: 版本回退ci: CICD 集成相关test: 添加测试代码refactor: 代码重构build: 影响项目构建或依赖修改style: 不影响程序逻辑的代码修改chore: 不属于以上类型的其他类型(日常事务)

// commitlint.config.jsmodule.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文档

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。