git規范提交之commitizen conventional-changelog-cli 安裝

一、引言

使用規范的提交信息可以讓項目更加模塊化、易于維護和理解,同時也便于自動化工具(如發布工具或 Changelog 生成器)解析和處理提交記錄。

通過編寫符合規范的提交消息,可以讓團隊和協作者更好地理解項目的變更歷史和版本控制,從而提高代碼維護效率和質量。

二、用到的插件

Commitizen
作用:Commitizen 是一個命令行工具,用于幫助開發者編寫符合規范的 Git 提交信息;
功能:提供交互式命令行界面,引導用戶填寫提交信息。支持多種提交規范(如 Angular Commit Message Conventions)。通過插件(如 cz-conventional-changelog)擴展功能;
使用場景:當你希望團隊遵循統一的提交信息格式時,可以使用 Commitizen 來規范提交行為;

cz-conventional-changelog
作用:這是 Commitizen 的一個適配器(adapter),基于 Angular 提交規范;
功能:提供符合 Angular 規范的提交信息模板(如 feat、fix、docs 等類型)。與 Commitizen 配合使用,確保提交信息格式統一;
使用場景:當你使用 Commitizen 時,可以通過 cz-conventional-changelog 來定義提交信息的格式;

conventional-changelog-cli
作用:用于根據 Git 提交歷史自動生成變更日志(Changelog),幫助開發者自動創建清晰且一致的 CHANGELOG.md 文件,從而簡化了軟件發布過程中手動維護變更記錄的繁瑣工作;
功能:解析符合規范的提交信息,生成格式化的 Changelog 文件(如 CHANGELOG.md);
使用場景:當你需要為項目生成版本更新日志時,可以使用此工具;

三者之間的關系
Commitizen 是核心工具,用于規范提交信息;
cz-conventional-changelog 是 Commitizen 的插件,定義了提交信息的格式(基于 Angular 規范);
conventional-changelog-cli 是一個獨立的工具,用于根據提交歷史生成 Changelog;

三、安裝步驟

  1. 安裝 commitizen
npm install commitizen -D
  1. 安裝cz-conventional-changelog
npm install cz-conventional-changelog -D
  1. 配置package.json
"config": {"commitizen": {"path": "./node_modules/cz-conventional-changelog"}
}

如圖所示:

在這里插入圖片描述

  1. package.json中添加一個指令,如commit:
"commit": "git-cz"

如圖所示:

在這里插入圖片描述

  1. 運行該指令:
 npm run commit

如圖所示:
在這里插入圖片描述
這里我提交的是一個bug的修復,選擇fix:
在這里插入圖片描述
在這里插入圖片描述
說明:

feat: 新增一個功能
fix: 修復bug
docs: 僅僅修改了文檔,比如README, CHANGELOG, CONTRIBUTE等等
style: 僅僅修改了空格、格式縮進等等,不改變代碼邏輯
refactor: 代碼重構,沒有加新功能或者修復bug
perf: 優化相關,比如提升性能、體驗
test: 測試用例,包括增加缺失用例或者修正測試用例
  1. 安裝conventional-changelog-cli
npm install -S conventional-changelog-cli
  1. 在項目根目錄下新建CHANGELOG.md,如圖所示:

在這里插入圖片描述

  1. package.json 添加指令
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",

如圖:
在這里插入圖片描述

  1. 運行命令:
npm run changelog

生成的日志如下圖:
在這里插入圖片描述

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

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

相關文章

前端實現版本更新自動檢測?

🤖 作者簡介:水煮白菜王,一位資深前端勸退師 👻 👀 文章專欄: 前端專欄 ,記錄一下平時在博客寫作中,總結出的一些開發技巧和知識歸納總結?。 感謝支持💕💕&a…

硬件基礎(4):(5)設置ADC電壓采集中MCU的參考電壓

Vref 引腳通常是 MCU (特別是帶有 ADC 的微控制器) 上用來提供或接收基準電壓的引腳,ADC 會以該基準電壓作為量程參考對輸入模擬信號進行數字化轉換。具體來說: 命名方式 在不同廠家的 MCU 中,Vref 引腳可能會被標記為 VREF / VREF- / VREF_…

postman接口請求中的 Raw是什么

前言 在現代的網絡開發中,API 的使用已經成為數據交換的核心方式之一。然而,在與 API 打交道時,關于如何發送請求體(body)內容類型的問題常常困擾著開發者們,尤其是“raw”和“json”這兩個術語之間的區別…

為什么要使用前綴索引,以及建立前綴索引:sql示例

背景: 你想啊,數據庫里有些字段,它老長了,就像那種 varchar(255) 的字段,這玩意兒要是整個字段都拿來建索引,那可太占地方了。打個比方,這就好比你要在一個超級大的筆記本上記東西,每…

【語料數據爬蟲】Python爬蟲|批量采集會議紀要數據(1)

前言 本文是該專欄的第2篇,后面會持續分享Python爬蟲采集各種語料數據的的干貨知識,值得關注。 在本文中,筆者將主要來介紹基于Python,來實現批量采集“會議紀要”數據。同時,本文也是采集“會議紀要”數據系列的第1篇。 采集相關數據的具體細節部分以及詳細思路邏輯,筆…

Android 線程池實戰指南:高效管理多線程任務

在 Android 開發中,線程池的使用非常重要,尤其是在需要處理大量異步任務時。線程池可以有效地管理線程資源,避免頻繁創建和銷毀線程帶來的性能開銷。以下是線程池的使用方法和最佳實踐。 1. 線程池的基本使用 (1)創建線…

SQL29 計算用戶的平均次日留存率

SQL29 計算用戶的平均次日留存率 計算用戶的平均次日留存率_牛客題霸_牛客網 題目:現在運營想要查看用戶在某天刷題后第二天還會再來刷題的留存率。 示例:question_practice_detail -- 輸入: DROP TABLE IF EXISTS question_practice_detai…

深度學習分類回歸(衣帽數據集)

一、步驟 1 加載數據集fashion_minst 2 搭建class NeuralNetwork模型 3 設置損失函數,優化器 4 編寫評估函數 5 編寫訓練函數 6 開始訓練 7 繪制損失,準確率曲線 二、代碼 導包,打印版本號: import matplotlib as mpl im…

【leetcode hot 100 19】刪除鏈表的第N個節點

解法一:將ListNode放入ArrayList中,要刪除的元素為num list.size()-n。如果num 0則將頭節點刪除;否則利用num-1個元素的next刪除第num個元素。 /*** Definition for singly-linked list.* public class ListNode {* int val;* Lis…

【iOS逆向與安全】sms短信轉發插件與上傳服務器開發

一、目標 一步步分析并編寫一個短信自動轉發的deb插件 二、工具 mac系統已越獄iOS設備:脫殼及frida調試IDA Pro:靜態分析測試設備:iphone6s-ios14.1.1三、步驟 1、守護進程 ? 守護進程(daemon)是一類在后臺運行的特殊進程,用于執行特定的系統任務。例如:推送服務、人…

Midjourney繪圖參數詳解:從基礎到高級的全面指南

引言 Midjourney作為當前最受歡迎的AI繪圖工具之一,其強大的參數系統為用戶提供了豐富的創作可能性。本文將深入解析Midjourney的各項參數,幫助開發者更好地掌握這一工具,提升創作效率和質量。 一、基本參數配置 1. 圖像比例調整 使用--ar…

音頻進階學習十九——逆系統(簡單進行回聲消除)

文章目錄 前言一、可逆系統1.定義2.解卷積3.逆系統恢復原始信號過程4.逆系統與原系統的零極點關系 二、使用逆系統去除回聲獲取原信號的頻譜原系統和逆系統幅頻響應和相頻響應使用逆系統恢復原始信號整體代碼如下 總結 前言 在上一篇音頻進階學習十八——幅頻響應相同系統、全…

vue3 使用sass變量

1. 在<style>中使用scss定義的變量和css變量 1. 在/style/variables.scss文件中定義scss變量 // scss變量 $menuText: #bfcbd9; $menuActiveText: #409eff; $menuBg: #304156; // css變量 :root {--el-menu-active-color: $menuActiveText; // 活動菜單項的文本顏色--el…

gbase8s rss集群通信流程

什么是rss RSS是一種將數據從主服務器復制到備服務器的方法 實例級別的復制 (所有啟用日志記錄功能的數據庫) 基于邏輯日志的復制技術&#xff0c;需要傳輸大量的邏輯日志,數據庫需啟用日志模式 通過網絡持續將數據復制到備節點 如果主服務器發生故障&#xff0c;那么備用服務…

熵與交叉熵詳解

前言 本文隸屬于專欄《機器學習數學通關指南》&#xff0c;該專欄為筆者原創&#xff0c;引用請注明來源&#xff0c;不足和錯誤之處請在評論區幫忙指出&#xff0c;謝謝&#xff01; 本專欄目錄結構和參考文獻請見《機器學習數學通關指南》 ima 知識庫 知識庫廣場搜索&#…

程序化廣告行業(3/89):深度剖析行業知識與數據處理實踐

程序化廣告行業&#xff08;3/89&#xff09;&#xff1a;深度剖析行業知識與數據處理實踐 大家好&#xff01;一直以來&#xff0c;我都希望能和各位技術愛好者一起在學習的道路上共同進步&#xff0c;分享知識、交流經驗。今天&#xff0c;咱們聚焦在程序化廣告這個充滿挑戰…

探索在生成擴散模型中基于RAG增強生成的實現與未來

概述 像 Stable Diffusion、Flux 這樣的生成擴散模型&#xff0c;以及 Hunyuan 等視頻模型&#xff0c;都依賴于在單一、資源密集型的訓練過程中通過固定數據集獲取的知識。任何在訓練之后引入的概念——被稱為 知識截止——除非通過 微調 或外部適應技術&#xff08;如 低秩適…

DeepSeek 助力 Vue3 開發:打造絲滑的表格(Table)之添加列寬調整功能,示例Table14基礎固定表頭示例

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 Deep…

取反符號~

取反符號 ~ 用于對整數進行按位取反操作。它會將二進制表示中的每一位取反&#xff0c;即 0 變 1&#xff0c;1 變 0。 示例 a 5 # 二進制表示為 0000 0101 b ~a # 按位取反&#xff0c;結果為 1111 1010&#xff08;補碼表示&#xff09; print(b) # 輸出 -6解釋 5 的二…

論文閱讀分享——UMDF(AAAI-24)

概述 題目&#xff1a;A Unified Self-Distillation Framework for Multimodal Sentiment Analysis with Uncertain Missing Modalities 發表&#xff1a;The Thirty-Eighth AAAI Conference on Artificial Intelligence (AAAI-24) 年份&#xff1a;2024 Github&#xff1a;暫…