Commit Message
(Commitizen是一個格式化commit message的工具。它的安裝須要NPM的支持,NPM是Node.js的包管理工具,因此首先安裝node.js)
-
Commitizen安裝:javascript
npm install -g commitizen
-
安裝changelog,生成changelog的工具:java
npm install -g conventional-changelog conventional-changelog-cli
-
檢驗是否安裝成功:node
npm ls -g -depth=0
-
項目根目錄下建立空的package.json,而後進入到項目目錄,執行如下命令會生成對應的項目信息:git
npm init --yes
-
運行下面命令,使其支持Angular的Commit message格式:shell
commitizen init cz-conventional-changelog --save --save-exact
-
進入到項目目錄,執行如下命令生成CHANGELOG.md文件:npm
conventional-changelog -p angular -i CHANGELOG.md -s
- 到這步就成功了,之後,凡是用到git commit命令的時候統一改成git cz,而後就會出現選項,生成符合格式的Commit Message。
-
生成CHANGELOG:json
- conventional-changelog -p angular -i CHANGELOG.md -s (該命令不會覆蓋之前的 Change log,只會 在CHANGELOG.md的頭部加上自從上次發佈以來的變更)
- conventional-changelog -p angular -i CHANGELOG.md -s -r 0 (生成全部發布的 Change log
- 或者方便使用直接寫入package.json的scripts字段:
{
"scripts": {
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
}
}
直接運行 npm run changelog 命令便可。。性能優化
注意事項
-
把node_modules加入.gitignore忽略工具
- commit的幾種類型選項,以下:
feat 新功能
fix Bug 修復
docs 文檔更新
style 代碼的格式,標點符號的更新
refactor 代碼重構
perf 性能優化
test 測試更新
build 構建系統或者包依賴更新
ci CI 配置,腳本文件等更新
chore 非 src 或者 測試文件的更新
revert commit 回退
- 每次打包生成changelog以後在最後的提交紀錄上打tag,tag命名格式爲v1.0.0(超過三位changelog不識別)。這樣下次生成changelog的時候會在這個tag的基礎上增量更新。
- changelog中的版本號根據package.json中的version生成,注意不能和你的tag同名不然不生成日誌。