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

Commitlint 使用指南

 安装
1.  安装并创建配置文件
//npm:
npm install -D @commitlint/cli @commitlint/config-conventional//yarn:
yarn add -D @commitlint/cli @commitlint/config-conventional
 项目根目录创建 commitlint.config.js 文件,内容如下:
export default {extends: ['@commitlint/config-conventional'],rules: {// 自定义规则(可选)'type-enum': [2, // 错误级别:0=禁用,1=警告,2=错误'always', // 条件:always/never
      ['build', //对项目构建系统或外部依赖项的更改。例如,修改构建脚本、配置文件等。'chore',// 非业务性的任务和更改。通常用于修改构建过程、辅助工具的代码,或者进行一些不涉及用户功能的工作'ci', //对持续集成 (Continuous Integration) 配置文件和脚本的更改'docs',// 文档变更,包括但不限于 README 文件、文档生成器或注释的变更'feat',// 新功能的添加。通常伴随着用户功能或其他明显的变更'fix',// 修复 bug'perf',//改进性能的代码更改'refactor',// 代码重构,不是修复 bug 也不是添加新功能的代码更改'revert',// 撤销先前的提交'style',// 与代码风格相关的更改,例如空格、格式化等,而不涉及功能性代码更改'test',// 添加或修改测试
      ],],'subject-max-length': [2, 'always', 72], // 提交信息最大长度
  },
}
 2.  配置 git hooks
//npm:
# 安装 husky
npm install --save-dev husky
# 激活 git hooks
npx husky install
# 添加 commit-msg 钩子(已安装husky提交验证无效,注意检查commit-msg 钩子是否添加)
echo "npx --no -- commitlint --edit \$1" > .husky/commit-msg//yarn:
# 安装 husky
yarn add --dev husky
# 激活 git hooks
yarn husky install
# 添加 commit-msg 钩子(已安装husky提交验证无效,注意检查commit-msg 钩子是否添加)
echo "yarn commitlint --edit \$1" > .husky/commit-msg
 3. 配置 script prepare
 在 package.json 中增加 prepare 脚本,用于在安装依赖时自动安装 husky。
{"scripts": {"prepare": "husky install"// other...
  }
}
 使用
 提交格式
type(optional scope?): description  //? 表示可选,不输入 scope 时可省略圆括号,注意冒号后面有空格
- type:提交的改动类型(如新增、修改、更新等)
- optional scope:标识此次提交主要涉及到代码中哪个模块
- description:一句话描述此次提交的主要内容
type
用于说明 commit 的类别:
●build: 对项目构建系统或外部依赖项的更改。例如,修改构建脚本、配置文件等。
●chore: 非业务性的任务和更改。通常用于修改构建过程、辅助工具的代码,或者进行一些不涉及用户功能的工作。
●ci: 对持续集成 (Continuous Integration) 配置文件和脚本的更改。
●docs: 文档变更,包括但不限于 README 文件、文档生成器或注释的变更。
●feat: 新功能的添加。通常伴随着用户功能或其他明显的变更。
●fix: 修复 bug。
●perf: 改进性能的代码更改。
●refactor: 代码重构,不是修复 bug 也不是添加新功能的代码更改。
●revert: 撤销先前的提交。
●style: 与代码风格相关的更改,例如空格、格式化等,而不涉及功能性代码更改。
●test: 添加或修改测试。
 重大修改
 当仓库产生比较重大的修改时,例如删除了某个 API,或者改变了大量的 API,可以通过以下方式来表示:

type!

在提交信息的 type 后面添加 ! 符号,表示该提交是重大更改。如:

feat!: 新增了新的 API,移除了旧的 API

 

 
http://www.rkmt.cn/news/13831.html

相关文章:

  • VonaJS提供的读写分离,直观,优雅
  • GreenPlum - commit
  • 忍了一年,我的SAAS CRM终于到期了!
  • 免费发布网站html
  • PySimpleGUI有哪些功能元素和函数缩写形式
  • 建材龙头东鹏控股:以CRM打造数字化增长新引擎
  • 万象EXCEL制作(四)格式解读theme1.xml ——东方仙盟练气期
  • 2025 年热转印花膜厂家最新推荐排行榜:覆盖硅胶,五金,塑胶,ABS,水杯等领域,权威推荐优质品牌解决采购难题
  • 核相的基本知识
  • 2025 年废气处理制造商最新推荐排行榜:权威盘点综合实力与服务能力,甄选行业优质品牌
  • 详细介绍:FreeRTOS---任务级和中断级临界区管理使用的理解与源码分析
  • 2025 年国内电容品牌最新推荐排行榜:固态电容,高压电容,安规电容,CBB电容,超级电容等多品类优质厂商权威盘点,助力企业精准选型
  • 【光照】[PBR][法线分布]GGX实现方法对比
  • PS中如何让文字中两行文字实现左对齐且中间部分文字对齐
  • 前端获取接口材料流程
  • APEX实战第5篇:利用APEX程序直观体验向量近似检索能力
  • 告别复制粘贴!Chat2File-DeepSeek 让 DeepSeek 对话成果直接变“成品” - 指南
  • 构建易受攻击的AWS DevOps环境:CloudGoat场景实践
  • MX 练石 2025 NOIP #10
  • 修复lazarus/fpc在windows不支持中文及空格目录(三)总结
  • 价值共生的语法革命:从“悬荡悟空”到“元人文构境”
  • 2025年中国超声波清洗机源头厂家最新权威推荐排行榜:聚焦核心优势精选超声波清洗机品牌助力企业选购
  • 无刷电机关键参数的测量方法详解
  • 课上及课下问题汇总
  • 4 个支持在线编辑的PPT模板网站,不用下载软件!
  • res := model.UserConsume{}与res := model.UserConsume{}区别
  • PS与可画基础介绍
  • OneNote 安装 OneNote Gem 的第三方插件
  • 第2周
  • PWN手的成长之路-03-bjdctf_2020_babystack