結合
commitizen
commitlint
conventional-changelog-cli
husky
,進行封裝,一鍵安裝,開箱即用的git commit
規範。vue
團隊多人協做開發時,每一個開發人員習慣不一樣,提交 commit 信息不一,而項目中 commit 信息極爲重要,是梳理不一樣階段項目迭代維護狀況的直觀表現,也是覆盤時 code view 的最好選擇途徑。團隊梳理出相關 commit 規範後,配套相應的約束工具,從而讓每一個開發者提交 commit 信息時都能遵照一套相應的準則, 讓項目中的 commit message 看起來更優雅和清晰。node
主要 commit 約束插件:git
commitizen 一個格式化 commit message 的工具vue-cli
commitlint 檢查 commit message 是否符合常規的提交格式。shell
conventional-changelog-cli 每次 commit 後產生 change log 日誌文件npm
@commitlint/config-conventional 一些常規的 commitlint 規則,若是不知足,將產生一個非零的退出代碼,退出當前執行程序。json
輔助插件:bash
安裝:工具
npm i vue-cli-plugin-commitlint commitizen commitlint conventional-changelog-cli husky -D
複製代碼
功能:ui
pacakge.json
{
"scripts": {
"log": "conventional-changelog --config ./node_modules/vue-cli-plugin-commitlint/lib/log -i CHANGELOG.md -s -r 0",
"cz": "npm run log && git add . && git cz",
},
"config": {
"commitizen": {
"path": "./node_modules/vue-cli-plugin-commitlint/lib/cz"
}
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
}
複製代碼
新增 commitment.config.js 文件
module.exports = {
extends: [
'./node_modules/vue-cli-plugin-commitlint/lib/lint',
'@commitlint/config-conventional'
]
};
複製代碼
使用
# 生成 changelog 文件 並執行 git add . && git commit -m ""
npm run cz
# 生成 changelog 文件
npm run log
複製代碼