关于husky8.0 与 4.0的配置

husky的场景使用很多,一般大多场景是在配置git commit 命令拦截hook, 校验 commit-msg 格式规范。以下环境默认:git >= 2.27.0, node >=14

1、安装huskey@8.0.1

npm install --save-dev husky@8.0.1

2、初始化配置文件

  • 在package.json scripts 属性中添加命令并保存:

"scripts": {"prepare": "npx husky install"
}
  •  在控制台输入:npm run prepare 初始化 husky,  则在工程根目录创建.husky目录  ,如下图:

  •  初始化commit-msg函数配置文件
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

        在./husky/commit-msg文件中生成

#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx --no-install commitlint --edit $1
  • 初始化pre-commit函数配置文件
npx husky add .husky/pre-commit "npx lint-staged"
  • 在./husky/pre-commit文件中生成  
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx lint-staged

以上: 钩子函数已经配置完毕, 执行 git commit 命令之后,会被拦截开始执行./husky/下 pre-commit、commit-msg 配置文件中脚本  

3、配置自定义的git commit-msg格式规范

  • commitlint 提交校验安装配置

    npm install --save-dev @commitlint/cli@17.0.2 @commitlint/config-conventional@17.0.2
  • 在工程目录创建commitlint.config.js文件

'use strict';
module.exports = {extends: ['@commitlint/config-conventional'],rules: {'type-enum': [2,'always',['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'chore', 'revert', 'build', "impr", "ci", "jvm", "pom", "apm", "conf", "typo", "wip", ]],'type-case': [0],'type-empty': [0],'scope-empty': [0],'scope-case': [0],'subject-full-stop': [0, 'never'],'subject-case': [0, 'never'],'header-max-length': [0, 'always', 72]}
};

 以下是4.0的配置

4、安装huskey@4.3.8

npm install --save-dev husky@4.3.8

5、初始化配置文件

- 在package.json scripts 属性中添加命令并保存:

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

6、配置自定义的git commit-msg格式规范

- commitlint 提交校验安装配置

 

npm install --save-dev @commitlint/cli@16.3.0 @commitlint/config-conventional@16.2.4

注意:高版本与低版本的husky有冲突

请检查根目录下.git/config 文件中是否含有高版本husky的字段配置, 若有则注释掉husky的配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CV(9)--迁移学习

前言 仅记录学习过程,有问题欢迎讨论 fine-tuning 在实践中,由于数据集不够大,很少有人从头开始训练网络。常见的做法是使用预训练的网络 (例如在ImageNet上训练的分类1000类的网络)来重新fine-tuning(也…

LS1046+XILINX XDMA PCIE调通

欢迎点赞收藏,欢迎私下讨论技术,分享技术 硬件平台 :NXP LS1046 XILINX FPGA 软件平台:LINUX 4.19.68 buildroot LS1046 PEX3 接 XILINX FPGA,linux使用designware的PCI主控制器。下载XILINX DMA驱动,解…

免杀0到1--ShellCode存放方式

示例&#xff1a;指针运行 通过修改内存属性、修改data段属性、新增数据段等方式改变shellcode的存放位置&#xff0c;以此达到规避杀软的一个效果。 1.原始版本 #include <Windows.h> #include <stdio.h> #pragma comment(linker,"/subsystem:\"Window…

C语言gdb调试

目录 1.gdb介绍 2.设置断点 2.1.测试代码 2.2.设置函数断点 2.3.设置文件行号断点 2.4.设置条件断点 2.5.多线程调试 3.删除断点 3.1.删除指定断点 3.2.删除全部断点 4.查看变量信息 4.1.p命令 4.2.display命令 4.3.watch命令 5.coredump日志 6.总结 1.gdb介绍…

Unity动态图集技术

.背景 首先&#xff0c;为什么需要动态图集&#xff1f;主要有两个原因&#xff1a; 游戏中的icon数量相当大&#xff0c;数量达到上千个。如果打成静态图集&#xff0c;需要好几张2048x2048的图集。运行时内存占用较大。同时&#xff0c;在这种情况下&#xff0c;由于icon会跨…

[程序设计]—代理模式

[程序设计]—代理模式&#x1f473; 本文章记录学习于——52.面向切面&#xff1a;AOP-场景模拟_哔哩哔哩_bilibili 最近闲来无事&#xff0c;在学习Spring的源码&#xff1a; 后面慢慢更新源码系列blog&#xff0c;希望多多关注&#x1f64f;&#x1f64f; 目前已经总结的b…

我的128天创作之路:回顾与展望

大家好呀&#xff01;今天来和你们分享一下我的创作历程&#x1f601;。 一、机缘 最开始创作呢&#xff0c;是因为在学习 C 的 STL 时&#xff0c;像 string、list、vector 这些模板可把我折腾得够呛&#xff0c;但也让我学到了超多东西&#xff01;我就想&#xff0c;要是把我…

线上服务怎么记录每次fullgc的dump文件

目录 使用JVM参数配置 使用命令行工具 注意事项 在线上服务中,记录每次Full GC的dump文件可以帮助开发者深入分析垃圾回收行为,优化JVM性能。以下是一些相关命令和步骤: 使用JVM参数配置 启用GC日志: 通过JVM参数-Xloggc指定GC日志的输出路径,例如-Xloggc:/path/to/gc…

RAID储存技术

RAID独立磁盘冗余技术是一种把2个或者多个HDD或SSD合并为一个协调的存储单元或列阵&#xff0c;从而预防数据丢失的技术&#xff0c;其最早由加州大学伯克利分校的计算机科学家David Patterson、Garth Gibson和Randy Katz在1987年提出。他们的研究论文“关于RAID的论证”提出了…

【复习小结】14-21

DAY14-15 栈和栈的应用 压栈&#xff08;push&#xff09;和弹栈&#xff08;pop&#xff09; 当执行压栈操作时&#xff0c;新元素被放置在栈顶&#xff0c;现有元素向下移动一位。 当执行弹栈操作时&#xff0c;栈顶元素被移除&#xff0c;现有元素向上移动一位。 括号匹配问…

【Ubuntu与Linux操作系统:三、用户与组管理】

第3章 用户与组管理 3.1 用户与组概述 Linux是一个多用户操作系统&#xff0c;允许多个用户同时登录并执行任务。每个用户在系统中都有独立的身份和权限。为了更高效地管理用户&#xff0c;Linux通过“组”的概念将用户进行分类。 用户&#xff08;User&#xff09;&#xff…

Openstack持久存储-Swift,Cinder,Manila三者之间的区别

总结不易&#xff0c;给个三连吧&#xff01;&#xff01;&#xff01; 补充&#xff1a; 文件共享存储服务Manila 在OpenStack生态系统中&#xff0c;Cinder和Manila分别提供了两种不同类型的存储服务&#xff0c;类似于传统的SAN&#xff08;存储区域网络&#xff09;和NAS&…

【数通】MPLS

MPLS 是什么&#xff1f; 多协议标签技术 标准解释&#xff1a;是一种旨在提高大型网络或边缘站点传输数据的速度和效率的技术。是可以加快并简化从数据中心跨网络主干到边缘以及两者之间任何位置的连接。MPLS 在虚拟专用网&#xff08;VPN&#xff09;中工作&#xff0c;并与…

软件测试预备知识④—NTFS权限管理、磁盘配额与文件共享

在软件测试的实际环境搭建与管理过程中&#xff0c;了解和掌握NTFS权限管理、磁盘配额以及文件共享等知识至关重要。这些功能不仅影响系统的安全性和稳定性&#xff0c;还对测试数据的存储、访问以及多用户协作测试有着深远的影响。 一、NTFS权限管理 1.1 NTFS简介 NTFS&am…

在 Docker 中安装并运行三个 MySQL 数据库

在 Docker 中安装并运行三个 MySQL 数据库 1. 确保 Docker 已安装和运行 确保 Docker 服务已在你的系统中正确安装和运行&#xff0c;可以通过以下命令检查&#xff1a; docker --version docker info2. 拉取 MySQL 镜像 从 Docker Hub 拉取最新版 MySQL 镜像&#xff1a; …

PyTorch深度学习CNN神经网络ResNet、DenseNet在CIFAR图像数据集分类应用与分析

全文链接&#xff1a;https://tecdat.cn/?p38782 在当今深度学习领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;架构不断发展与创新&#xff0c;诸多先进的架构被提出并广泛应用。像GoogleNet&#xff08;ILSVRC 2014获胜者&#xff09;、ResNet&#xff08;ILSVRC…

MongoDB 删除集合

MongoDB 删除集合 在MongoDB中,集合是存储文档的地方,相当于关系型数据库中的表。有时候,我们可能需要删除不再需要的集合,以便释放存储空间或清理数据。本文将详细介绍如何在MongoDB中删除集合。 一、使用MongoShell删除集合 MongoDB提供了一个名为mongo的交互式JavaSc…

word论文排版常见问题汇总

word论文排版常见问题汇总 常用快捷键&#xff1a; Alt F9 正常模式与域代码模式切换 Ctrl F9 插入域代码 F9 刷新域代码显示&#xff0c;要注意选定后刷新才会有效果 word中在当前列表的基础上修改列表 在使用word时&#xff0c;我们会定义一个列表&#xff0c;并将其链接…

【Rust】数据类型

目录 思维导图 1. 数据类型概述 1.1 标量类型 1.1.1 整数类型 1.1.2 浮点数类型 1.1.3 布尔类型 1.1.4 字符类型 1.2 复合类型 1.2.1 元组类型 1.2.2 数组类型 2. 类型注解与类型推断 3. 整数溢出处理 4. 数字运算 5. 示例 思维导图 1. 数据类型概述 Rust是一种静…

ceph 数据均衡

实现数据均衡的主要方法 在 Ceph 集群中,实现 OSD(对象存储守护进程)之间的数据均衡对于提升性能和资源利用率至关重要。以下是实现数据均衡的主要方法: 1. 调整 OSD 权重(Reweight) 通过调整 OSD 的权重,可以控制数据在各个 OSD 之间的分布。Ceph 提供了根据利用率或…