Git 完整的提交規范教程

約定式提交規范

本文中的關鍵詞 “必須(MUST)”、“禁止(MUST NOT)”、“必要(REQUIRED)”、“應當(SHALL)”、“不應當(SHALL NOT)”、“應該(SHOULD)”、“不應該(SHOULD NOT)”、“推薦(RECOMMENDED)”、“可以(MAY)” 和 “可選(OPTIONAL)”

  1. 每個提交都必須使用類型字段前綴,它由一個名詞構成,諸如?feat?或?fix?, 其后接可選的范圍字段,可選的?!,以及必要的冒號(英文半角)和空格。
  2. 當一個提交為應用或類庫實現了新功能時,必須使用?feat?類型。
  3. 當一個提交為應用修復了 bug 時,必須使用?fix?類型。
  4. 范圍字段可以跟隨在類型字段后面。范圍必須是一個描述某部分代碼的名詞,并用圓括號包圍,例如:?fix(parser):
  5. 描述字段必須直接跟在 <類型>(范圍) 前綴的冒號和空格之后。 描述指的是對代碼變更的簡短總結,例如:?fix: array parsing issue when multiple spaces were contained in string?。
  6. 在簡短描述之后,可以編寫較長的提交正文,為代碼變更提供額外的上下文信息。正文必須起始于描述字段結束的一個空行后。
  7. 提交的正文內容自由編寫,并可以使用空行分隔不同段落。
  8. 在正文結束的一個空行之后,可以編寫一行或多行腳注。每行腳注都必須包含 一個令牌(token),后面緊跟?:<space>?或?<space>#?作為分隔符,后面再緊跟令牌的值腳注的令牌必須使用?-?作為連字符,比如?Acked-by?(這樣有助于 區分腳注和多行正文)。有一種例外情況就是?BREAKING CHANGE,它可以被認為是一個令牌。
  9. 腳注的值可以包含空格和換行,值的解析過程必須直到下一個腳注的令牌/分隔符出現為止。
  10. 破壞性變更必須在提交信息中標記出來,要么在 <類型>(范圍) 前綴中標記,要么作為腳注的一項。
  11. 包含在腳注中時,破壞性變更必須包含大寫的文本?BREAKING CHANGE,后面緊跟著冒號、空格,然后是描述,例如:?BREAKING CHANGE: environment variables now take precedence over config files?。
  12. 包含在 <類型>(范圍) 前綴時,破壞性變更必須通過把?!?直接放在?:?前面標記出來。 如果使用了?!,那么腳注中可以不寫?BREAKING CHANGE:, 同時提交信息的描述中應該用來描述破壞性變更。
  13. 在提交說明中,可以使用?feat?和?fix?之外的類型,比如:docs: updated ref docs.?。
  14. 工具的實現必須不區分大小寫地解析構成約定式提交的信息單元,只有?BREAKING CHANGE?必須是大寫的。
  15. BREAKING-CHANGE 作為腳注的令牌時必須是 BREAKING CHANGE 的同義詞。

為什么使用約定式提交

提交類型標題描述表情符號發布包含在變更日志中
feat特征一個新功能minortrue
fixBug修復錯誤修復patchtrue
docs文檔僅文檔更改patch如果scopereadmetrue
style風格不影響代碼含義的更改(空格、格式、缺少分號等)-true
refactor代碼重構既不修復錯誤也不添加功能的代碼更改-true
perf性能改進提高性能的代碼更改patchtrue
test測試添加缺失的測試或糾正現有的測試-true
build構建影響構建系統或外部依賴項的更改(示例范圍:gulp、broccoli、npm)patchtrue
ci持續集成對我們的 CI 配置文件和腳本的更改(示例范圍:Travis、Circle、BrowserStack、SauceLabs)-true
chore家務活不修改 src 或測試文件的其他更改-true
revert還原恢復之前的提交-true

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

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

相關文章

云計算【第一階段(24)】Linux文件系統與日志分析

一、文件與存儲系統的inode與block 1.1、硬盤存儲 最小存儲單位&#xff1a;扇區(sector) 每個扇區大小&#xff1a;512字節 1.2、文件存取 最小存取單位&#xff1a;塊(block)連續八個扇區組成&#xff1a;塊(block) 每個塊大小&#xff1a;4K文件數據&#xff1a;實際數據…

Leetcode1115 交替打印 FooBar及其測試

題目描述 相關標簽 相關企業 給你一個類&#xff1a; class FooBar { public void foo() { for (int i 0; i < n; i) { print(“foo”); } } public void bar() { for (int i 0; i < n; i) { print(“bar”); } } } 兩個不同的線程將會共用一個 FooBar 實例&#xf…

Java面試八股之如何提高MySQL的insert性能

如何提高MySQL的insert性能 提高MySQL的INSERT性能可以通過多種策略實現&#xff0c;以下是一些常見的優化技巧&#xff1a; 批量插入&#xff1a; 而不是逐條插入&#xff0c;可以使用單個INSERT語句插入多行數據。例如&#xff1a; INSERT INTO table_name (col1, col2) V…

正則表達式-使用筆記

正則表達式使用不當&#xff0c;會導致CPU飆升&#xff1b; 二、相關參考 正則表達式 – 語法 | 菜鳥教程 sparksql 正則匹配總結 三、回溯原理 導致性能下降最主要原因&#xff1a; .* 會導致大量回溯| 分支操作 https://zhuanlan.zhihu.com/p/27417442 四、常用工具 regex…

OpenSNN推文:科技前沿動態速覽:六七月份的技術革新與行業進展

隨著夏季的到來&#xff0c;科技界的熱度也如同氣溫一般持續攀升。在這個充滿活力的季節里&#xff0c;從量子計算的深邃世界到腦機接口的未來探索&#xff0c;從人工智能的智慧躍升到大數據的海洋遨游&#xff0c;再到運營策略的精妙布局和設計領域的創新火花&#xff0c;以及…

2024第三屆中國醫療機器人大會第一輪通知

2024第三屆中國醫療機器人大會第一輪通知 大會背景 醫療機器人技術正以前所未有的速度在主流醫學領域取得卓越進展&#xff0c;新應用、新技術不斷涌現&#xff0c;使得該領域在過去一年中取得了令人驚嘆的增長。然而&#xff0c;這僅僅是冰山一角&#xff0c;未來的發展空間仍…

Docker:一、安裝與卸載、配置阿里云加速器(Ubuntu)

目錄 &#x1f341;安裝docker&#x1f332;1、環境準備&#x1f332;2、安裝docker Engine&#x1f9ca;1、卸載舊版、任何沖突的包&#x1f9ca;2、使用存儲庫安裝&#x1f9ca;3、安裝 Docker 包。&#x1f9ca;4、查詢是否安裝成功&#x1f9ca;5、運行hello-world鏡像&…

柯橋小語種學校成人生活口語學習|西班牙語中H為什么不發音…

01 H en el alfabeto espaol 西語字母表中的h 字母H是唯一一個在標準西班牙語中不再代表任何音素的字母。盡管在它單獨出現時被叫做HACHE&#xff0c;但在大多數單詞拼寫中&#xff0c;它只是一個沒有聲音對應關系的字母&#xff0c;因此RAE稱其為“無聲的H”&#xff08;hac…

機器學習——無監督學習(k-means算法)

1、K-Means聚類算法 K表示超參數個數&#xff0c;如分成幾個類別&#xff0c;K值就取多少。若無需求&#xff0c;可使用網格搜索找到最佳的K。 步驟&#xff1a; 1、隨機設置K個特征空間內的點作為初始聚類中心&#xff1b; 2、對于其他每個點計算到K個中心的距離&#xff0c;…

蕎面打造的甜蜜魔法:甜甜圈

食家巷蕎面甜甜圈是一款具有特色的美食。它以蕎面為主要原料&#xff0c;相較于普通面粉&#xff0c;蕎面具有更高的營養價值&#xff0c;富含膳食纖維、維生素和礦物質。蕎面甜甜圈的口感可能會更加扎實和有嚼勁&#xff0c;同時帶著蕎面特有的谷物香氣。在制作過程中&#xf…

FlutterWeb渲染模式及提速

背景 在使用Flutter Web開發的網站過程中&#xff0c;常常會遇到不同瀏覽器之間的兼容性問題。例如&#xff0c;在Google瀏覽器中動畫和交互都非常流暢&#xff0c;但在360瀏覽器中卻會出現卡頓現象&#xff1b;在Google瀏覽器中動態設置圖標顏色正常顯示&#xff0c;而在Safa…

8-阿里云服務器 ECS配置R及Studio Server

目錄 查看服務器系統 關于linux系統 安裝R 1,查看官方教程 2,安裝R ①修改sources.list文件 ②安裝R:點擊Y ③更新最新版R ④安裝 RStudio(省略此步驟) ?編輯 ⑤安裝 RStudio Server 登錄rstudio-server 1,添加賬號(root賬號不能登錄) 2,開啟8787端口訪…

SpringBoot+OSS實現文件上傳

創建spring boot項目 pom依賴 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency><dependency><groupId>javax.xml.bind</groupI…

SpringBoot項目練習

文章目錄 SpringBootVue后臺管理系統所需軟件下載、安裝、版本查詢Vue搭建一個簡單的Vue項目 Spring項目1項目架構 SpringBootVue后臺管理系統 學習視頻&#xff1a; https://www.bilibili.com/video/BV1U44y1W77D/?spm_id_from333.337.search-card.all.click&vd_sourcec…

深入Laravel事件系統:創建與使用事件的指南

Laravel的事件系統是一種強大的機制&#xff0c;它允許你將應用程序的行為封裝成事件&#xff0c;然后在適當的時候觸發這些事件。這不僅有助于代碼的解耦&#xff0c;還提高了應用程序的可維護性和可擴展性。本文將詳細介紹如何在Laravel中創建和使用事件&#xff0c;包括事件…

2024年7月6日隨筆

期末考試全部結束了&#xff0c;這個月是真累啊&#xff0c;一堆事&#xff0c;好在都熬過來了&#xff0c;上次參加的那個碼題杯自己居然進國賽了&#xff0c;我看了一下職業賽道和本科賽道的題&#xff0c;本科賽道的感覺要難上不少&#xff0c;比賽時間是一周后&#xff0c;…

Pytorch(筆記7損失函數類型)

前言 損失函數&#xff08;Loss Function&#xff09;&#xff1a;是定義在單個樣本上的&#xff0c;是指一個樣本的誤差&#xff0c;度量模型一次預測的好壞。 代價函數&#xff08;Cost Function&#xff09;成本函數經驗風險&#xff1a;是定義在整個訓練集上的&#xff0c…

集成學習(三)GBDT 梯度提升樹

前面學習了&#xff1a;集成學習&#xff08;二&#xff09;Boosting-CSDN博客 梯度提升樹&#xff1a;GBDT-Gradient Boosting Decision Tree 一、介紹 作為當代眾多經典算法的基礎&#xff0c;GBDT的求解過程可謂十分精妙&#xff0c;它不僅開創性地舍棄了使用原始標簽進行…

virtualbox窗口和win10窗口的切換

1、問題&#xff1a; 從windows切換到虛擬機可以用快捷鍵 ALTTAB&#xff0c;但是從虛擬機到windows使用 ALTTAB 無法成功切換 2、解決方法&#xff1a; 按下圖操作 按上面步驟設置之后&#xff0c;每次要從虛擬機窗口切換到windows窗口 只需要先按 CtrlAlt 跳出虛擬機窗口&…

【已解決】“import ... =“ 只能在 TypeScript 文件中使用

現象 在使用 import 語法的時候&#xff0c;代碼報紅&#xff0c;提示&#xff1a;“import ... “ 只能在 TypeScript 文件中使用 原因 代碼被 VSCode 解析成 TypeScript 語法 解決方案&#xff1a; 關閉 JavaScript 的驗證啟用即可。 mac 快捷方式&#xff1a;comman s…