Git Commit 團隊規范限制


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(-)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM