当前位置: 首页 > news >正文

vue3+vite+ts 配置commit强制码提交规范配置 commitlint

配置 git 提交时的 commit 信息,统一提交 git 提交规范

安装命令: 

npm install -g commitizen
npm i cz-customizable
npm i @commitlint/config-conventional @commitlint/cli -D

文件配置

根路径创建文件

commitlint.config.js

module.exports = {// 继承的规则extends: ['@commitlint/config-conventional'],
}

.husky文件创建  commit-msg

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"npx --no-install commitlint --edit "$1"

package.json添加代码

  "husky": {"hooks": {"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"}},

提交方式

1,手动使用commit

git commit -m 'feat(custom): 测试提交'

2.配合vscode中的插件快捷提交 git-commit-plugin

 在vscode的设置中加入配置,不然会有小图标导致commit不通过

 "GitCommitPlugin.ShowEmoji":false,//去除commIt插件图标

3.以是使用npm脚本进行快捷提交

在根目录下新建 .cz-config.cjs 文件并写入配置 之后就可以用 git cz 来代替 git commit

.cz-config.cjs

module.exports = {// 可选类型types: [{ value: 'feat', name: 'feat:     新功能' },{ value: 'fix', name: 'fix:      修复' },{ value: 'docs', name: 'docs:     文档变更' },{ value: 'style', name: 'style:    代码格式(不影响代码运行的变动)' },{value: 'refactor',name: 'refactor: 重构(既不是增加feature,也不是修复bug)'},{ value: 'perf', name: 'perf:     性能优化' },{ value: 'test', name: 'test:     增加测试' },{ value: 'chore', name: 'chore:    构建过程或辅助工具的变动' },{ value: 'revert', name: 'revert:   回退' },{ value: 'build', name: 'build:    打包' }],// 消息步骤messages: {type: '请选择提交类型(必填):',subject: '请简要描述提交(必填):',customScope: '请输入修改范围(可选):',      body: '请输入详细描述(可选):',footer: '请输入要关闭的issue(可选):',confirmCommit: '确认使用以上信息提交?(y/n/e/h)'},// 跳过问题skipQuestions: ['body', 'footer'],// subject文字长度默认是72subjectLimit: 72}

在package.json中进行新增

"scripts": {"commit":"git cz"},  
"config": {"commitizen": {"path": "node_modules/cz-customizable"},"cz-customizable": {"config": ".cz-config.cjs"}},

执行npm 中的commit脚本

相关文章:

  • React+Antd+tree实现树多选功能(选中项受控+支持模糊检索)
  • c++之说_10|自定义类型 union 联合体
  • 霍金《时间简史》(A Brief History of Time)学习笔记(第四章)
  • FastAdmin
  • Gateway反向代理配置
  • 浅聊一下redis的雪崩,穿透和击穿
  • 练习题解(关于最小生成树)
  • ASP.NET Core 预防开放式重定向攻击
  • 网易和腾讯面试题精选---性能和优化面试问题
  • MySQL 表的增删查改(练习)
  • 百家cms代审
  • 用C语言实现单个网页图片爬虫
  • [UI5 常用控件] 08.Wizard,NavContainer
  • 《幻兽帕鲁》攻略:0基础入门及游戏基础操作 幻兽帕鲁基础设施 幻兽帕鲁基础攻击力 Mac苹果电脑玩幻兽帕鲁 幻兽帕鲁加班加点
  • 【教程】微服务使用Feign接口进行远程调用的步骤
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • JavaScript的使用你知道几种?(上)
  • SpiderData 2019年2月23日 DApp数据排行榜
  • spring + angular 实现导出excel
  • TCP拥塞控制
  • 初探 Vue 生命周期和钩子函数
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 利用jquery编写加法运算验证码
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 应用生命周期终极 DevOps 工具包
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 交换综合实验一
  • 昨天1024程序员节,我故意写了个死循环~
  • ​io --- 处理流的核心工具​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • # Apache SeaTunnel 究竟是什么?
  • #### go map 底层结构 ####
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #14vue3生成表单并跳转到外部地址的方式
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)php新闻发布平台 毕业设计 141646
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (区间dp) (经典例题) 石子合并
  • (三分钟)速览传统边缘检测算子
  • (十三)Maven插件解析运行机制
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .Net - 类的介绍
  • .net 7 上传文件踩坑
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net core 6 集成和使用 mongodb
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net Redis的秒杀Dome和异步执行