git cz 规范化 git commit 格式

git cz 规范化 git commit 格式

  1. npm install git-cz --save-dev
  2. npm install commitizen --save-dev
  3. npm install cz-customizable --save-dev
// 这是package.json自动生成的
"config": {"commitizen": {"path": "./node_modules/cz-customizable"},}
  1. 根目录新建 .cz-config.cjs
// .cz-config.cjs
module.exports = {types: [{ value: 'update',   name: 'update:   功能开发阶段性提交' },{ value: 'feat',     name: 'feat:     完整新功能提交' },{ value: 'fix',      name: 'fix:      修复Bug' },{ value: 'perf',     name: 'perf:     性能优化(在不影响代码内部行为的前提下,对程序性能进行优化)' },{ value: 'refactor', name: 'refactor: 代码重构(在不影响代码内部行为、功能下的代码修改)' },{ value: 'docs',     name: 'docs:     只修改了文档相关的文件(e.g. 修改README.md)' },{ value: 'style',    name: 'style:    代码风格、不影响代码功能的更改(e.g. 修改空格缩进,换行规范)' },{ value: 'build',    name: 'build:    影响项目构建或依赖项修改(e.g. 升级webpack到版本5)' },{ value: 'chore',    name: 'chore:    构建过程、辅助工具等相关的内容修改(e.g. 更新依赖库)' },{ value: 'revert',   name: 'revert:   恢复上一次提交(e.g. 回滚feat: 增加用户注册功能)' },],scopes: [],messages: {type: '选择一种你提交的类型(必选):',scope: '\n自定义更改范围(可选):',subject: '短说明(必填):\n',body: '长说明, 使用"|"换行(可选):\n',breaking: '列举非兼容性的重大变更(可选):\n',footer: '关联关闭的issue, 例如: #31, #34(可选)\n',confirmCommit: '确认提交?',},allowBreakingChanges: ['update', 'feat', 'fix'],
};
// 如果 git cz 报错  Unable to find a configuration file,新增一条配置,指定配置文件地址
"config": {"commitizen": {"path": "./node_modules/cz-customizable"},// 手动新增"cz-customizable": {"config": ".cz-config.cjs"}}

避免绕过 git cz,直接用git commit - m ‘’ 来提交,校验commit message

  1. npm install --save-dev husky
  2. npx husky-init

// 根目录自动生成了.husky文件夹

  1. npm i --save-dev @commitlint/config-conventional @commitlint/cli

  2. package.json 新增scripts

"scripts": {"commitlint": "commitlint --config commitlint.config.cjs -e -V"},
  1. npx husky add .husky/commit-msg “npm run commitlint”

  2. 根目录新建 commitlint.config.cjs

module.exports = {extends: ["@commitlint/config-conventional"],rules: {"type-enum": [0]}
};

现在直接git commit - m ‘随便填’,会报错


项目的package.json(仅供参考)

{"name": "integrated-platform","version": "1.0.0","private": true,"type": "module","scripts": {"dev": "vite","build": "rimraf dist && vite build","preview": "vite preview","lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore","format": "prettier --write src/","commit": "git-cz","commitlint": "commitlint --config commitlint.config.cjs -e -V","prepare": "husky install"},"dependencies": {"@element-plus/icons-vue": "^2.3.1","@vueuse/core": "^11.0.3","axios": "^1.7.7","crypto-js": "^4.2.0","element-plus": "^2.8.1","js-cookie": "^3.0.5","pinia": "^2.1.7","pre-commit": "^1.2.2","vue": "^3.4.29","vue-router": "^4.3.3"},"devDependencies": {"@commitlint/cli": "^19.4.1","@commitlint/config-conventional": "^19.4.1","@iconify-json/ep": "^1.2.0","@iconify-json/ic": "^1.2.0","@rushstack/eslint-patch": "^1.8.0","@vitejs/plugin-vue": "^5.0.5","@vitejs/plugin-vue-jsx": "^4.0.0","@vue/eslint-config-prettier": "^9.0.0","autoprefixer": "^10.4.20","commitizen": "^4.3.0","cz-conventional-changelog": "^3.3.0","cz-customizable": "^7.2.1","eslint": "^8.57.0","eslint-plugin-vue": "^9.23.0","git-cz": "^4.9.0","husky": "^8.0.0","less": "^4.2.0","lint-staged": "^15.2.10","postcss": "^8.4.45","prettier": "^3.2.5","rimraf": "^6.0.1","tailwindcss": "^3.4.10","unplugin-auto-import": "^0.18.2","unplugin-icons": "^0.19.3","unplugin-vue-components": "^0.27.4","vite": "^5.3.1"},"lint-staged": {"**/*.+(js|jsx|ts|tsx|vue)": ["eslint --fix","prettier --write"]},"engines": {"node": "18.3.0"},"config": {"commitizen": {"path": "./node_modules/cz-customizable"},"cz-customizable": {"config": ".cz-config.cjs"}}
}

项目的目录结构(仅供参考)

在这里插入图片描述


mac 系统 husky 钩子不执行

git commit -m '1532'hint: The '.husky/pre-commit' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The '.husky/commit-msg' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.[main af74cc4] 15321 file changed, 1 insertion(+), 1 deletion(-)

husky 没有执行权限,项目终端输入,添加执行权限
chmod +x .husky/*


查看钩子的权限

 ls -l .husky/pre-commit// 只有读权限-rw-r--r--@ 1 user  admin  74 Sep  7 20:24 .husky/pre-commitchmod +x .husky/pre-commit// 加了执行权限-rwxr-xr-x 1 user group 1234 May 15 14:00 .husky/pre-commit

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

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

相关文章

文件对比工具--BeyondCompare

💖简介 Beyond Compare 是一款功能强大的文件和文件夹比较工具,由Scooter Software开发。它可以帮助用户轻松地比较文件和文件夹的差异,并且可以合并变化、同步文件以及备份重要数据 💻环境 windows 📖版本 Beyon…

from T2I to T2V

生成图片 在Stable Diffusion推理过程中,其使用unet对一个初始化的向量不断去噪,并编入条件信息 c c c ,最后使用vae-decoder将其上采样为一张图片。 计算过程: f l a t e n t u n e t ( f l a t e n t ) , f l a t e n t ∈ R…

k8s环境搭建

创建一个新的model虚拟机,处理器为2,硬盘为40G 使用model主机克隆三台新的主机,名称分别为k8s_master,k8s_node01,k8s_node02,运行环境脚本,设置ip地址和名称,IP地址分别为66、77、…

webpack5 创建多页面应用配置

简单版webpack创建多页面应用,只要把配置文件复制下来,然后npm安装相应插件,正常是能跑起来了 创建 初始化 npm init生成package.json文件安装webpack npm i -D webpack webpack-cli webpack-dev-server创建main.js入口文件和webpack.config…

Spring Cloud之二 微服务注册

1&#xff1a;Intellij 新建服务 user-service 2&#xff1a;pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"…

当 PLC 遇见 “IT”

IT&OT 深度融合工控人加入PLC工业自动化精英社群 IT & OT integration 当今不断发展的工业自动化世界&#xff0c;在智能、高效和快速的系统和软件应用中&#xff0c;数据扮演着越来越重要的角色。传统的 IT 网络中&#xff0c;提供了丰富多彩的规范和协议&#xff0…

kitti数据深度图转点云坐标计算方法与教程(代码实现)

文章目录 前言一、kitti深度图官网介绍1、官网深度图介绍2、深度图读取官网代码(python)3、深度图解读1、数据格式内容2、深度图加工3、深度图转相机坐标深度二、kitti数据内参P矩阵解读1、P2矩阵举例2、内参矩阵 (3x3)3、特殊平移向量(第4列)4、kitti的bx与by解释三、kitti深…

使用Redis实现记录访问次数(三种方案)

目录 0. 前言1. 使用Filter实现2. 使用AOP实现 1. 导入依赖 2. 写一个切面类&#xff0c;实现统计访问次数。 3. 开启AOP 4. 测试 5. plus版本 (1) 新建一个bean类 (2) 新增一个controller方法 (3) 新增一个循环增强方法 (4) 测试…

Python之Redis操作方法

目录 一. 介绍A. 什么是 Redis&#xff1f;B. Redis 的特点和用途C. Python 操作 Redis 的优势 二. 使用 Redis 客户端库A. 安装 Redis 客户端库B. 导入 Redis 模块C. 创建 Redis 客户端实例 三. 数据操作A. 键值对操作1. 设置键值对2. 获取键值对3. 检查键是否存在4. 删除键5.…

使用切换 JDK 的方式优化部署微服务占用内存过高的问题

使用切换 JDK 的方式优化部署微服务占用内存过高的问题 一、前言二、下载 J9 虚拟机的JDK三、切换 JDK1、上传到服务器2、解压3、修改 JDK 路径4、解决 JDK 没有切换成功的问题 一、前言 前段时间在服务器部署了微服务项目&#xff0c;但即使限制了每个服务的堆&#xff0c;内…

【网络安全】-文件下载漏洞-pikachu

文件操作漏洞包括文件上传漏洞&#xff0c;文件包含漏洞&#xff0c;文件下载漏洞。 文章目录  前言 什么是文件下载漏洞&#xff1f; 1.常见形式&#xff1a; 常见链接形式&#xff1a; 常见参数&#xff1a; 2.利用方式&#xff1a; 3.举例&#xff1a;pikachu不安全的文件…

ABB机械手备份与恢复

ABB机械手备份与恢复 备份恢复系统 备份 ABB机器人数据备份的对象是所有正在系统内存中运行的RAPID程序和系统参数。当机器人系统出现错乱或者重新安装系统以后&#xff0c;可以通过备份快速地把机器人恢复到备份时的状态。 如果导出到U盘需要将U盘插入USB接口&#xff0c;位置…

【思博伦】史上最详细思博伦测试仪使用精讲!图解超赞超详细!!!

承接上文 目录 2.2.9.7 配置TCPFLAG 2.2.9.8 配置分片 2.2.9.9 添加VLAN标签 2.2.9.10 添加MPLS标签 2.2.9.11 添加Vntag标签 2.2.9.12 重新快速新建新的帧内容 ​​​​​​​2.2.10 导入Pcap包 2.2.11 发包配置 2.2.11.1 发包模式配置 ​​​​​​​2.2.11.2 配置…

SpringMVC基于注解使用:国际化

01-国际化介绍 首先在bootstrap下载个页面 下载后把登录页面的代码粘上去 然后再登录页面代码上有些超链接需要再spring-mvc.xml里面配置下&#xff0c;登录页面才能正常显示 配置静态资源 国际化-根据浏览器语言国际化 现在是中文的情况&#xff0c;要改为英文 1.配置下属…

ROS入门教程(八)—— 路径规划导航实战

通过Gazebo仿真和RViz仿真的学习后,本文将通过Gazebo与RViz联合仿真实现机器人在Gazebo仿真环境中运动,通过远距搜索与近距搜索实现机器人路径规划导航。 目录 前言 实现思路 仿真模型 仿真源码 前言 前面的ROS入门教程提供ROS仿真的基础步骤,本文提供了实现思路,仿真…

C#笔记10 Thread类怎么终止(Abort)和阻止(Join)线程

Thread类 C#笔记8 线程是什么&#xff1f;多线程怎么实现和操作&#xff1f;-CSDN博客 C#笔记9 对线程Thread的万字解读 小小多线程直接拿下&#xff01;-CSDN博客 上次说过怎么简单的使用多线程&#xff0c;怎么创建多线程&#xff0c;但是没有具体分析它的终止和释放。 线…

L2线性回归模型

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 鸢尾花数据集的单变量与多变量预测 在这周学习如何使用 机器学习 模型对鸢尾花&#xff08;Iris&#xff09;数据集进行单变量与多变量预测。我们将使用鸢尾花…

学习pyqt5相关知识回顾

1. 模块 1.1 import导入 1) 模块:是一系列功能的集合体,模块名.功能名,就可以使用模块的功能 2) 首次导入模块,就会立即执行模块里面的内容 3) 当前名称空间会产生一个名字module,指向module.py产生的名称空间.我们可以使用module.name/函数名,来调用module.py里面的内容. …

RQ-RAG:提升检索增强生成模型的查询精炼能力

人工智能咨询培训老师叶梓 转载标明出处 大模型在面对未见场景时&#xff0c;往往会产生不准确或虚构的回答&#xff0c;这限制了它们的实用性。为了解决这一问题&#xff0c;香港科技大学、香港理工大学和麻省理工学院的研究团队提出了一种名为RQ-RAG&#xff08;Retrieval-A…

被低估的SQL

SQL是现代数据库管理系统中不可或缺的一部分。尽管它的使用已十分普遍&#xff0c;但在数据处理领域&#xff0c;SQL的某些功能和潜力仍然被许多人低估。接下来&#xff0c;小编将与您一起&#xff0c;探讨SQL的一些被忽视的特性&#xff0c;揭示它在数据管理中的真正实力。 1.…