這篇文章我們接著上一篇文章《詳解如何使用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倉庫的版本迭代資訊,
圖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列表會如期展現在我們眼前。
圖2
上面的命令比較長,我們可以把它配置在package。json中,
圖3
當你需要發版時,執行一下以下命令即可,
npm run changelog
生成Commitizen徽章
將下面這句話copy到你的專案README檔案中即可,
[![Commitizen friendly](https://img。shields。io/badge/commitizen-friendly-brightgreen。svg)](http://commitizen。github。io/cz-cli/)
將會生成一個小徽章,
圖4
總結
我們用兩篇文章介紹了Augular程式碼提交規範,主要有兩點,一是保持統一的commit資訊風格,二是每次發版可以生成changelog,這樣就可以讓你的程式碼看起來非常專業,有沒有!
這個就叫專業
喜歡我的文章就關注我吧,有問題可以發表評論,我們一起學習,共同成長!