Git Commit 團隊規範限制
阿新 • • 發佈:2020-08-28
Git Commit 團隊規範限制
前言
在團隊進行開發協作的時候,不規範的Git Commit提交會使得專案的Git Log雜亂無章,哪些是新功能、哪些是修復bug等等都無法得知,因此規範團隊的提交是非常有必要的,所以規範約束就特別需要了。
使用validate-commit-msg和husky去規範Commit提交
validate-commit-msg
可以來檢查我們的commit規範,husky
可以把validate-commit-msg
作為一個githook來驗證提交訊息。
安裝配置
npm i validate-commit-msg -D
npm i husky -D
配置validate-commit-msg
validate-commit-msg
的配置可以在根目錄建立一個.vcmrc檔案或者在package.json
中配置
// .vcmrc檔案 { "types": ["feat", "fix", "docs", "style", "refactor", "test", "chore", "revert"], "scope": { "required": false, "allowed": ["*"], "validate": false, "multiple": false }, "warnOnFail": false, "maxSubjectLength": 100, "subjectPattern": ".+", "subjectPatternErrorMsg": "subject does not match subject pattern!", "helpMessage": "", "autoFix": false }
// package.json
{
"config": {
"validate-commit-msg": {
/* your config here */
}
}
}
如果兩個都配置是優先走.vcmrc檔案。查詢不到該檔案才在package.json
中查詢
配置husky,使用validate-commit-msg的規則來驗證我們所提交的commit資訊
// package.json "husky": { "hooks": { "commit-msg": "validate-commit-msg" } }
驗證提交
// 錯誤的commit資訊是不允許提交的
git commit -m "fffffff"
husky > commit-msg (node v10.15.0)
INVALID COMMIT MSG: does not match "<type>(<scope>): <subject>" !
fffffff
husky > commit-msg hook failed (add --no-verify to bypass)
// 正確的允許提交
git commit -m "fix: 修復了一個bug"
husky > commit-msg (node v10.15.0)
[pregray 33e57b37dd] fix: 修復了一個bug
1 file changed, 1 insertion(+), 1 deletion(-)