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

Git 提交信息(Commit Message)的规范校验,husky + commitlint

1. 安装依赖

npm install --save-dev husky @commitlint/config-conventional @commitlint/cli

2. 启用 Husky

npx husky install
npm pkg set scripts.prepare="husky install"  # 自动初始化钩子

3. 配置提交信息规范

(1) 创建 .commitlintrc.js
module.exports = {extends: ['@commitlint/config-conventional'], // 使用 Angular 提交规范rules: {'type-enum': [ // 限定提交类型2,'always',['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert']],'subject-case': [0] // 不限制主题大小写}
};
(2) 添加 commit-msg 钩子,下面的命令就是先创建.husky/commit-msg文件,然后在commit-msg里添加npx --no-install commitlint --edit "$1"这一行代码,如果用下面的代码添加不成功,可以手动添加
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

4. 提交示例

允许的提交格式:
git commit -m "feat: 添加登录功能"      # 新增功能
git commit -m "fix: 修复按钮点击问题"  # 修复 Bug
git commit -m "docs: 更新 README"      # 文档变更
被拦截的提交格式:
git commit -m "随便写个提交"  # 错误:缺少类型前缀
git commit -m "fix:abc"      # 错误:类型后缺少空格和描述

http://www.dtcms.com/a/282681.html

相关文章:

  • Java全栈工程师面试实录:从电商场景到AIGC的深度技术挑战
  • 手动搭建PHP环境:步步为营,解锁Web开发
  • 【尝试】基于openai-whisper进行语音转文字windows版本
  • 【项目实践】SMBMS(Javaweb版)汇总版
  • flink sql如何对hive string类型的时间戳进行排序
  • python应用day11--requests爬虫详解
  • Dify工作流节点-Agent
  • 前端上传 pdf 文件 ,前端自己解析出来 生成界面 然后支持编辑
  • 数据降维方法:PCA
  • Vue2.x封装预览PDF组件
  • 利用pdfjs实现的pdf预览简单demo(包含翻页功能)
  • 从0开始学习R语言--Day48--Calibration Curves 评估模型
  • ByteToMessageDecoder详解
  • 众趣分享 | 浅谈三维重建(空间计算)技术原理
  • STM32外设介绍5(DMA<直接存储器访问>)
  • 开源模型应用落地-qwen模型小试-Qwen3-Embedding 模型集成 vLLM 实战解析(二)
  • Python第三次作业
  • 【Node 日常使用 】
  • GitHub 趋势日报 (2025年07月15日)
  • 中望3D 2026亮点速递(1)-全新槽功能螺纹功能,减少繁琐操作
  • Oracle,PostgreSQL查看字段码值方式
  • 国内外服务器的不同之处
  • 【Qt】麒麟系统安装套件
  • 机器学习:AI 自主学习能力的来源
  • Rocky9安装Ansible
  • 网络安全(初级)(XSS-labs 1-8)
  • 【React Native】模态页Modal
  • 论文导读--PQ3D:通过分段级分组实现多模态特征融合和 MTU3D:在线查询表示学习与动态空间记忆
  • 【MAC技巧】Bash/Zsh切换失败的故障排除
  • aspect-ratio: 1 / 1样式在部分手机浏览器中失效的问题怎么解决?