<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
我們在使用一個比較厲害的框架或者庫的時候,經常可以看到 CHANGELOG.md,維護版本更新內容。
很多時候,特別是在你開源自己的一個工具或庫時,這種版本更新內容是非常有必要的,如果使用者使用了你的輪子,連更新內容都不知道,試問你敢用嗎? 那麼這些都是怎麼寫的呢?每次發版都要手動記錄嗎?顯然不是,這些都是靠提條記錄生成的。
比如我們在 github 上隨便找一個庫:https://github.com/vuepress/vuepress-next,可以看到它就有這個檔案
點進去可以檢視具體內容:注意我畫紅線的這 2 個,我們是可以跳到對應 issue 和對應程式碼提交記錄的。
1、團隊約束
生成這種 CHANGELOG 有一個前提,就是團隊成員都按規矩提交。人不是機器,習慣不養成往往會忽略,這種約束還是讓工具來做吧。
2、Commitizen 是一個撰寫符合 Commit Message 格式標準的一款工具,至於標準 Commit Message 格式標準,可以百度一下或者一會提交範例介紹。
3、區域性安裝 commitizen:npm install commitizen -D
4、執行指令碼設定 package.json
在專案根目錄下執行下面命令,使其支援angular的 Commit message 格式
// 如果你使用npm執行下面命令: commitizen init cz-conventional-changelog --save-dev --save-exact // 如果使用yarn,則執行下面: 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、修改程式碼提交過程介紹
這時候就可以提交嘗試下,提交的時候直接執行剛才新增的指令碼:yarn commit
或者 npm run commit
,然後就會看到讓你選擇的各種頁面,選擇即可
第一步: 選擇這次提交的內容型別:提交型別是以後生成 CHANGELOG 分類題目
第二步: 這次提交影響範圍
第三步:簡短描述:如果你使用 gitlab 或者 github 進行遠端分支 Merge requset 的時候,這個就是預設的title
第四步:詳細描述
第五步:是否重大更新(改變):一般具有重要的大版本或者破壞原來程式碼的時候需要標記一下
第六步:這次提交對哪些開啟的 issue 有影響:類似於 github 開源模式,程式碼的維護不論需求還是 fix都有對應的issue討論進行code的支撐。git message 這一步就是為了關聯issue。如果選擇是,可寫上相關issue 對應號碼。(也就是上面的那 2 個可以跳轉的地方)
那麼正規的寫提交記錄最後就是為了讓團隊其他人看懂,還有一個目的是為了更規範的產生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、執行指令碼,檢視結果:yarn changeLog
或 npm run changeLog
最後即可生成一個提交紀錄檔檔案
我這裡測試了下:
feat 是 npm run commit 按步驟提交的
fix 是直接 git commit -m "fix: test 符號" 提交的
可以看到都生成了紀錄檔檔案,所以如果團隊每個人都能按 Commit 規範提交的話,第一步 Commitizen 約束是可以不需要的(但是會存在一個問題就是不能實現 issue 與 commitId 的程式碼提交記錄的聯動了)。
以上就是Git Commitizen提交規範化自動生成changelog檔案的詳細內容,更多關於Git Commitizen提交規範的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45