git Commitizen工具安装使用

本文介绍了如何使用Commitizen工具规范化Git提交信息,通过validate-commit-msg进行提交信息校验,以及利用conventional-changelog自动生成CHANGELOG文件。配置包括安装Commitizen、validate-commit-msg、ghooks,并在package.json中设定相关规则,确保提交消息遵循特定格式。同时,文章提到了changelog的生成方法,帮助维护清晰的项目变更记录。
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/6844903897622904845https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值