git配置git commit -m “fix 11,22: 修改bugid為11,22“

文章目錄

  • 前言
  • 一、報錯提示
  • 二、實現
    • 1.commitlint.config.js規范配置
    • 2. **修改正則表達式**:
    • 3. **移除 scope-case 規則**:
    • 4. **增強自定義規則邏輯**:
      • 測試結果:
      • 正則表達式詳解:


前言

提示:正常的配置git規范看這篇配置即可;我的是在此規范上新加了一個要求

一、報錯提示

要求:
以下可正常提交

git commit -m "fix: 修復按鈕樣式"
git commit -m "fix 11: 修復bug的id為11"
git commit -m "fix 11,22: 修復bug的id為11,22"

以下報錯禁止提交

git commit -m "fix abc: 輸入了非數字的范圍"

報錯提示:
在這里插入圖片描述

二、實現

1.commitlint.config.js規范配置

const config = {parserPreset: {parserOpts: {headerPattern: /^(\w+)(?:\s+([^:]*))?:\s*(.+)$/,headerCorrespondence: ["type", "scope", "subject"]}},ignores: [commit => commit.includes("init")],rules: {"header-max-length": [2, "always", 100],// "scope-case": [2, "always", ["lower-case", "upper-case", "numeric"]], // 允許非數字scope;避免與自定義規則沖突"subject-empty": [2, "never"],"subject-case": [2, "always", ["lower-case", "sentence-case", "start-case", "pascal-case", "upper-case"]],"subject-full-stop": [2, "never", "."],"type-empty": [2, "never"],"type-case": [2, "always", "lower-case"],"type-enum": [2, "always", ["feat", "fix", "style", "perf", "docs", "refactor", "test"]],"scope-issue-format": [2, "always"]},plugins: [{rules: {"scope-issue-format": parsed => {const { type, scope } = parsed// console.log("%c【" + "參數" + "】打印", "color:#fff;background:#0f0", parsed, type, scope)// 1. 如果沒有 scope(傳統格式),直接通過if (!scope) return [true]// 2. 驗證 scope 格式(數字或逗號分隔的數字)if (/^\d+(,\d+)*$/.test(scope)) {return [true]}// 3. 檢查類型是否正確(避免類型錯誤時顯示錯誤信息)const validTypes = ["feat", "fix", "style", "perf", "docs", "refactor", "test"]if (!validTypes.includes(type)) {return [true] // 讓 type-enum 規則處理類型錯誤}// 4. 如果 scope 存在但不符合數字格式,顯示錯誤return [false, `類型格式錯誤!必須是以下格式之一:\n` + `- 基礎類型: "${validTypes.join('", "')}"\n` + `- scope格式為數字: "fix 123" 或 "fix 111,222"`]}}}]
}export default config

2. 修改正則表達式

headerPattern: /^(\w+)(?:\s+([^:]*))?:\s*(.+)$/
  • 現在可以匹配任何非冒號字符作為 scope
  • 支持以下格式:
    • fix: 描述 (scope 為 null)
    • fix 123: 描述 (scope 為 “123”)
    • fix abc: 描述 (scope 為 “abc”)
    • fix 111,222: 描述 (scope 為 “111,222”)

3. 移除 scope-case 規則

  • 因為我們現在允許非數字 scope(但會在自定義規則中驗證)
  • 避免與自定義規則沖突

4. 增強自定義規則邏輯

  • 首先檢查是否有 scope(傳統格式直接通過)
  • 然后驗證 scope 是否為數字格式
  • 最后檢查類型是否正確(避免類型錯誤時顯示錯誤信息)

測試結果:

# 正確格式
git commit -m "fix: 傳統格式"
# 輸出: 成功git commit -m "fix 123: 單issue格式"
# 輸出: 成功git commit -m "fix 111,222: 多issue格式"
# 輸出: 成功# 錯誤格式
git commit -m "fix abc: 非數字scope"
# 輸出:
# Scope 格式錯誤!必須是數字或用逗號分隔的數字,例如:123 或 111,222
# 您輸入的 scope: "abc" 不符合要求git commit -m "feat 123,abc: 混合格式"
# 輸出:
# Scope 格式錯誤!必須是數字或用逗號分隔的數字,例如:123 或 111,222
# 您輸入的 scope: "123,abc" 不符合要求

正則表達式詳解:

^(\w+)               // 匹配類型(如 "fix")
(?:\s+([^:]*))?      // 非捕獲組:一個或多個空格 + 任何非冒號字符(作為 scope)
:\s*                 // 冒號后跟零個或多個空格
(.+)$                // 匹配剩余部分作為描述

這個配置確保:

  1. 所有格式都能被正確解析(包括錯誤格式)
  2. 自定義規則能夠正確驗證 scope 格式
  3. 提供清晰、具體的錯誤信息
  4. 保持與傳統格式的兼容性

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89525.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89525.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nastools繼任者?極空間部署影視自動化訂閱系統『MediaMaster』

nastools繼任者?極空間部署影視自動化訂閱系統『MediaMaster』 哈嘍小伙伴們好,我是Stark-C~ 對于我們NAS玩家來說,觀影總是大家繞不開的一個執念,并且為觀影的折騰大家也都是樂此不疲~ 曾經有一個非常絕絕子的觀影神器擺在我們…

題解:CF1690G Count the Trains

思路: 首先我們可以理清一下各種情況:1)m可能為02)一次操作時,只需要考慮每節火車的車頭。3)當一節火車的速度降低時,只會影響它及它后面的車廂當m0時,我們可以記錄上一節車頭的速度…

CCF編程能力等級認證GESP—C++3級—20250628

CCF編程能力等級認證GESP—C3級—20250628單選題(每題 2 分,共 30 分)判斷題(每題 2 分,共 20 分)編程題 (每題 25 分,共 50 分)奇偶校驗分糖果單選題(每題 2 分,共 30 分…

2G和3G網絡關閉/退網狀態(截止2025年7月)

從能打語音電話的2G,到能發彩信、聊QQ的3G,這兩項陪伴了我們數十年的通信技術,正在悄然退出歷史舞臺。近日,全球移動供應商協會(GSA)發布的《2025年7月2G和3G網絡關閉報告》顯示,全球已有超百個…

Day06_C語言網絡編程20250718mobus重點

01.思維導圖1 什么是 modbus他是一個在工控領域非常好用的通信寫 modbus協議本質上是一個 基于 tcp 協議二次封裝的一個協議 什么叫做基于tcp二次封裝的協議:我們自己寫的pack_t(無論靜態還是動態),都是屬于二次封裝的協議modbus協議是一種 “主從問答式…

比亞迪古德伍德亮相:從技術突破到文化對話

近日,比亞迪攜騰勢Z9GT、方程豹豹5、騰勢D9亮相英國古德伍德速度節——全球最具聲望的汽車文化盛典。方程豹豹5搭載全球首個 DMO電驅越野平臺,在爬山賽道上展現出媲美性能跑車的動力響應與精準控制,徹底打破“越野必靠大排量燃油機”的西方傳…

UniApp TabBar 用戶頭像方案:繞過原生限制的實踐

需求場景: 在 UniApp 項目中,需要將 TabBar 首頁項 (index) 的圖標替換為當前用戶的網絡圖片,并實現: 放大且圓形顯示。點擊該圖標時,頁面滾動回頂部。切換到其他分類時,首頁 Tab 項恢復為普通首頁圖標。 嘗…

如何閱讀Spring源碼

如何閱讀Spring源碼 簡介 最近有許多人問我如何閱讀Spring源碼,那我便在這給出閱讀源碼的方法,能夠保證本地能夠讓源碼能夠運行起來。 Spring 源碼環境本地編譯 Gradle下載地址 通過網盤分享的文件:gradle-6.4.1-all.zip 鏈接: https://pan.b…

Excel導出實戰:從入門到精通 - 構建專業級數據報表的完整指南

文章目錄Excel導出實戰:從入門到精通 - 構建專業級數據報表的完整指南引言:ExcelJSFileSaver如何映射到Excel操作一、ExcelJS核心架構解析 - 從文件結構理解1. 工作簿(Workbook)模型 - 相當于整個Excel文件2. 工作表(Worksheet)配置 - 相當于單個工作表設…

PyTorch圖像預處理全解析(transforms)

1. 引言在深度學習計算機視覺任務中,數據預處理和數據增強是模型訓練的關鍵步驟,直接影響模型的泛化能力和最終性能表現。PyTorch 提供的 torchvision.transforms 模塊,封裝了豐富的圖像變換方法,能夠高效地完成圖像標準化、裁剪、…

slam中的eskf觀測矩陣推導

在之前的《slam中的eskf推導》一文中,沒有寫觀測矩陣 H 矩陣的過程,現在補上這部分。前置列舉幾個等下推導需要用到的一些點:平面特征點構造觀測矩陣例如在 fastlio 中,是利用平面特征點到擬合平面的距離來構造觀測方程&#xff0…

Python_2

邏輯判斷 首先得首先&#xff0c;我們想判斷一個邏輯的正確與否&#xff0c;一定是需要一個能夠表現出邏輯的詞 如果我只說一個1 2&#xff0c;那么大家都不知道我在說什么但是如果我說1<2,那么大家就能判斷這個語句的正確與否了 下面是幾個常用的邏輯詞 < 小于>大于&…

Liunx-Lvs配置項目練習

1.實驗環境配置Lvs調度器有兩塊網卡 一塊僅主機和一塊nat網卡&#xff0c;客戶端nat模式&#xff0c;兩臺服務器為僅主機模式2.集群和分布式簡介集群與分布式系統簡介集群 (Cluster)集群是指將多臺計算機(通常為同構的)通過高速網絡連接起來&#xff0c;作為一個整體對外提供服…

T5(Text-to-Text Transfer Transformer) 模型

下面是對 T5&#xff08;Text-to-Text Transfer Transformer&#xff09; 模型的詳細介紹&#xff0c;包括其原理、架構、訓練方式、優勢與局限&#xff0c;以及與其他模型&#xff08;如 BERT、GPT&#xff09;的對比。一、T5 是什么&#xff1f;T5&#xff08;Text-to-Text T…

PostgreSQL技術大講堂 - 第97講:PG數據庫編碼和區域(locale)答疑解惑

PostgreSQL從入門到精通系列課程&#xff0c;近100節PG技術講解&#xff0c;讓你從小白一步步成長為獨當一面的PG專業人員&#xff0c;點擊這里查看章節內容。 PostgreSQL從入門到精通課程&#xff0c;持續更新&#xff0c;歡迎加入。第97講&#xff1a;PostgreSQL 數據庫編碼…

【IEEE獨立出版 】第六屆機器學習與計算機應用國際學術會議(ICMLCA 2025)

第六屆機器學習與計算機應用國際學術會議&#xff08;ICMLCA 2025&#xff09; 大會簡介 第六屆機器學習與計算機應用國際學術會議(ICMLCA 2025)定于2025年10月17-19日在中國深圳隆重舉行。本屆會議將主要關注機器學習和計算機應用面臨的新的挑戰問題和研究方向&#xff0c;著力…

對于編碼電機-520直流減速電機

編碼電機的介紹 編碼器是一種將角位移或者直線位移轉換成一連串電數字脈沖的一種傳感器。我們可以通過編碼器測量電機轉動的位移或者速度信息。 編碼器按照工作原理&#xff0c;可以分為增量式編碼器和絕對式編碼器&#xff0c;絕對式編碼器的每一個位置對應一個確定的數字碼&a…

Rust入門之并發編程基礎(三)

Rust入門之并發編程基礎&#xff08;三&#xff09; 題記&#xff1a;6月底7月初&#xff0c;結束北京的工作生活回到二線省會城市發展了&#xff0c;鴿了較久了&#xff0c;要繼續堅持學習Rust&#xff0c;堅持寫博客。 背景 我們平時使用計算機完成某項工作的時候&#xf…

一文讀懂循環神經網絡—深度循環神經網絡(DRNN)

目錄 一、從 RNN 到 DRNN&#xff1a;為什么需要 “深度”&#xff1f; 二、DRNN 的核心結構 1. 時間維度&#xff1a;循環傳遞 2. 空間維度&#xff1a;多層隱藏層 3. 雙向 DRNN&#xff08;Bidirectional DRNN&#xff09; 三、DRNN 的關鍵挑戰與優化 1. 梯度消失 / 爆…

磁懸浮軸承系統中由不平衡力引發的惡性循環機制深度解析

磁懸浮軸承系統中由不平衡力引發的 “振動-激勵-更大振動”惡性循環 是一個典型的 正反饋失控過程,其核心在于 傳感器信號的污染 與 控制器對真實位移的誤判。以下是其逐步演進的原理詳解: 惡性循環的觸發與演進 1:不平衡力的產生(根源) 轉子存在質量偏心,質心(CM)偏離…