詳解前端程式碼倉庫發版時如何生成change log

這篇文章我們接著上一篇文章《詳解如何使用Angular規範來統一多人的git提交記錄》繼續聊Commitizen。

在上一篇文章中我們說要把git commit命令改成git cz,但是對於很多人來說他已經習慣了前一條命令,那有沒有什麼辦法繼續使用前者呢?有!

解決辦法就是在。git/hooks目錄下新增一個prepare-commit-msg檔案,檔案內容如下,

#!/bin/bashexec < /dev/tty && node_modules/。bin/git-cz ——hook || true

當你使用git commit後,就會觸發git hook,進而會執行上面的指令碼,後面的操作就和之前說的一樣了。

生成change log

我們在很多的開源庫中都能看見每個版本的迭代資訊,例如如下是angular倉庫的版本迭代資訊,

詳解前端程式碼倉庫發版時如何生成change log

圖1

這是如何生成的呢?

首先全域性安裝一下conventional-changelog

npm install -g conventional-changelog-cli

然後執行如下命令

conventional-changelog -p angular -i CHANGELOG。md -s

即可生成change log,它的內容主要包括Feature、Fix、Performance Improvement和Breaking Changes,每次執行這個命令都會在之前的log文字最上面新增最新的log。

如果你是第一次在倉庫中使用這個工具,可以執行下面的命令,

conventional-changelog -p angular -i CHANGELOG。md -s -r 0

這個命令會一次性生成所有歷史commit日誌,然後覆蓋之前所有的log。

以上命令執行完成之後就會在專案中生成一個CHANGELOG。md檔案,然後把它推到遠端倉庫,在遠端倉庫中開啟,change log列表會如期展現在我們眼前。

詳解前端程式碼倉庫發版時如何生成change log

圖2

上面的命令比較長,我們可以把它配置在package。json中,

詳解前端程式碼倉庫發版時如何生成change log

圖3

當你需要發版時,執行一下以下命令即可,

npm run changelog

生成Commitizen徽章

將下面這句話copy到你的專案README檔案中即可,

[![Commitizen friendly](https://img。shields。io/badge/commitizen-friendly-brightgreen。svg)](http://commitizen。github。io/cz-cli/)

將會生成一個小徽章,

詳解前端程式碼倉庫發版時如何生成change log

圖4

總結

我們用兩篇文章介紹了Augular程式碼提交規範,主要有兩點,一是保持統一的commit資訊風格,二是每次發版可以生成changelog,這樣就可以讓你的程式碼看起來非常專業,有沒有!

詳解前端程式碼倉庫發版時如何生成change log

這個就叫專業

喜歡我的文章就關注我吧,有問題可以發表評論,我們一起學習,共同成長!