git Commitizen工具安裝使用


Commitizen工具安裝使用

npm install -g commitizen
commitizen init cz-conventional-changelog --save --save-exact //在項目目錄下執行

//提交代碼
git add .
git cz  //所有的git commit 都用git cz替換

安裝validate-commit-msg校驗

// 安裝 validate-commit-msg
npm install --save-dev validate-commit-msg 
// 安裝 ghooks
cnpm install ghooks --save-dev
// 在 package.json 配置 ghooks
"config": {
    "ghooks": {
      "commit-msg": "validate-commit-msg"
    },
    "validate-commit-msg": {
      "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "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
    }
  }
  
  說明:如果修改文件 再次寫 git commit -m “***”,會報錯

Changelog使用

// 安裝 changelog
sudo cnpm install -g conventional-changelog
或者安裝changlog-cli
npm install -g conventional-changelog-cli
// 在 package.json 的 scripts 字段寫入
 "scripts": {
    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -w -r 0"
  }
  // 生成CHANGELOG文件
  conventional-changelog -p angular -i CHANGELOG.md -s
  // 生成CHANGLOG日志
  npm run changelog

完整的package.json文件內容如下:

{
  "devDependencies": {
    "ghooks": "^2.0.4"
  },
  "config": {
    "ghooks": {
      "commit-msg": "validate-commit-msg"
    },
    "validate-commit-msg": {
      "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "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
    }
  },
  "scripts": {
    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -w -r 0"
  }
}

相關連接

https://juejin.cn/post/6844903897622904845
https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html


免責聲明!

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



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