亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Git?Commitizen提交規(guī)范化自動生成changelog文件

 更新時間:2022年09月14日 16:01:41   作者:古蘭精  
這篇文章主要為大家介紹了Git?Commitizen提交規(guī)范化自動生成changelog文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

背景介紹

我們在使用一個比較厲害的框架或者庫的時候,經??梢钥吹?CHANGELOG.md,維護版本更新內容。

很多時候,特別是在你開源自己的一個工具或庫時,這種版本更新內容是非常有必要的,如果用戶使用了你的輪子,連更新內容都不知道,試問你敢用嗎? 那么這些都是怎么寫的呢?每次發(fā)版都要手動記錄嗎?顯然不是,這些都是靠提條記錄生成的。

比如我們在 github 上隨便找一個庫:https://github.com/vuepress/vuepress-next,可以看到它就有這個文件

點進去可以查看具體內容:注意我畫紅線的這 2 個,我們是可以跳到對應 issue 和對應代碼提交記錄的。

Commitizen 介紹

1、團隊約束

生成這種 CHANGELOG 有一個前提,就是團隊成員都按規(guī)矩提交。人不是機器,習慣不養(yǎng)成往往會忽略,這種約束還是讓工具來做吧。

2、Commitizen 是一個撰寫符合 Commit Message 格式標準的一款工具,至于標準 Commit Message 格式標準,可以百度一下或者一會提交示例介紹。

3、局部安裝 commitizen:npm install commitizen -D

4、執(zhí)行腳本設置 package.json

在項目根目錄下運行下面命令,使其支持angular的 Commit message 格式

// 如果你使用npm執(zhí)行下面命令:
commitizen init cz-conventional-changelog --save-dev --save-exact
// 如果使用yarn,則執(zhí)行下面:
commitizen init cz-conventional-changelog --yarn --dev --exact

注意,–save-exact 相當于鎖定版本號

此時 package.json 新增了這部分內容

{
  "scripts": {
    "commit": "cz"
  },
  "devDependencies": {
    "commitizen": "^4.2.4",
    "conventional-changelog-cli": "^2.2.2"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  }
}

5、修改代碼提交過程介紹

這時候就可以提交嘗試下,提交的時候直接執(zhí)行剛才添加的腳本:yarn commit 或者 npm run commit,然后就會看到讓你選擇的各種頁面,選擇即可

第一步: 選擇這次提交的內容類型:提交類型是以后生成 CHANGELOG 分類題目

第二步: 這次提交影響范圍

第三步:簡短描述:如果你使用 gitlab 或者 github 進行遠程分支 Merge requset 的時候,這個就是默認的title

第四步:詳細描述

第五步:是否重大更新(改變):一般具有重要的大版本或者破壞原來代碼的時候需要標記一下

第六步:這次提交對哪些打開的 issue 有影響:類似于 github 開源模式,代碼的維護不論需求還是 fix都有對應的issue討論進行code的支撐。git message 這一步就是為了關聯issue。如果選擇是,可寫上相關issue 對應號碼。(也就是上面的那 2 個可以跳轉的地方)

自動產生CHANGELOG

那么正規(guī)的寫提交記錄最后就是為了讓團隊其他人看懂,還有一個目的是為了更規(guī)范的產生CHANGELOG,下面看看自動產生CHANGELOG的步驟。

1、安裝產生 changelog 插件 conventional-changelog-cli:

npm install -D conventional-changelog-cli

2、在 package.json 添加腳本

"changelog": "conventional-changelog -p angular -u -i CHANGELOG.md -s -r 0"

3、執(zhí)行腳本,查看結果:yarn changeLognpm run changeLog

最后即可生成一個提交日志文件

我這里測試了下:

feat 是 npm run commit 按步驟提交的

fix 是直接 git commit -m "fix: test 符號" 提交的

可以看到都生成了日志文件,所以如果團隊每個人都能按 Commit 規(guī)范提交的話,第一步 Commitizen 約束是可以不需要的(但是會存在一個問題就是不能實現 issue 與 commitId 的代碼提交記錄的聯動了)。

以上就是Git Commitizen提交規(guī)范化自動生成changelog文件的詳細內容,更多關于Git Commitizen提交規(guī)范的資料請關注腳本之家其它相關文章!

相關文章

  • 安全校驗Session驗證碼并避免繞開驗證碼攻擊

    安全校驗Session驗證碼并避免繞開驗證碼攻擊

    校驗驗證碼的Session是否為空或者校驗用戶輸入的驗證碼是否合法,構造安全表單的關鍵就是永遠不要相信用戶的輸入
    2012-01-01
  • 詳解文法的定義與分類(編譯原理)

    詳解文法的定義與分類(編譯原理)

    計算機的語言具有嚴格的語法、語義,易于形式化的特征,這篇文章主要介紹了詳解文法的定義與分類(編譯原理),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Postman測試報告的生成方法

    Postman測試報告的生成方法

    做完測試后,都會編寫一份測試報告,測試報告中最主要的就是呈現出測試結果,哪些用例通過了,哪些用例沒有通過。像postman這么強大的功能也可以自動生成報告,供我們測試同學進行查看,顯得更加有B格
    2022-01-01
  • 算法系列15天速成 第五天 五大經典查找【中】

    算法系列15天速成 第五天 五大經典查找【中】

    大家可否知道,其實查找中有一種O(1)的查找,即所謂的秒殺
    2013-11-11
  • 使用git上傳到碼云分支的實現

    使用git上傳到碼云分支的實現

    這篇文章主要介紹了使用git上傳到碼云分支的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 網站開發(fā)中的文件存儲目錄結構的探討

    網站開發(fā)中的文件存儲目錄結構的探討

    網站應用中經常會有文件存儲的需求,目錄結構該怎么建才好呢?讓我們來做下分析
    2010-07-07
  • 常用的Git便捷操作合集

    常用的Git便捷操作合集

    雖然現在有很多圖形化的?Git?工具,但是命令行依然?yyds。本文記錄了工作中很有用的一些?Git?操作,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-09-09
  • 在IDEA中配置SFTP遠程Linux服務器系統的實現

    在IDEA中配置SFTP遠程Linux服務器系統的實現

    本文主要介紹了在IDEA中配置SFTP遠程Linux服務器系統的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Git pull(拉取)及push(上傳)相關命令介紹

    Git pull(拉取)及push(上傳)相關命令介紹

    這篇文章主要介紹了Git pull(拉取),push(上傳)相關命令,git是一個非常好用的分布式版本管理工具,Git是去中心化,每一個分支都是一個中心,并且支持本地倉庫存儲,像如今很多大公司都用git做版本控制。有興趣的話來學習一下
    2020-07-07
  • VS2019創(chuàng)建MFC程序的實現方法

    VS2019創(chuàng)建MFC程序的實現方法

    這篇文章主要介紹了VS2019創(chuàng)建MFC程序的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論