commitizen增加代码默认提交规范并使用husky增加提交校验

该文介绍了如何在项目中设置Commitizen、commitlint和Husky,以规范Git提交信息。通过创建.cz-config.js文件自定义提交类型,并用commitlint定义提交消息的规则,确保提交类型符合约定。同时,使用Husky在预提交阶段检查提交信息的合规性。
摘要由CSDN通过智能技术生成
cnpm install -g commitizen
cnpm i --save-dev  cz-customizable

在这里插入图片描述

  • 项目根目录下创建.cz-config.js 自定义提示文件
module.exports = {
  // 可选类型
  types: [
    { value: "[add]", name: "add:     新功能" },
    { value: "[fix]", name: "fix:      修复" },
    { value: "[docs]", name: "docs:     文档变更" },
    { value: "[style]", name: "style:    代码格式(不影响代码运行的变动)" },
    {
      value: "[refactor]",
      name: "refactor: 重构(既不是增加feature,也不是修复bug)",
    },
    { value: "[del]", name: "del:     删除" },
    { value: "[update]", name: "update:     修改" },
    { value: "[merge]", name: "merge:    合并" },
    { value: "[revert]", name: "revert:   回退" },
    { value: "[build]", name: "build:    打包" },
  ],
  // 消息步骤
  messages: {
    type: "请选择提交类型:",
    customScope: "请输入修改范围(可选):",
    subject: "请简要描述提交(必填):",
    body: "请输入详细描述(可选):",
    footer: "请输入要关闭的issue(可选):",
    confirmCommit: "确认使用以上信息提交?(y/n/e/h)",
  },
  // 跳过问题
  skipQuestions: ["customScope", "body", "footer"],
  // subject文字长度默认是72
  subjectLimit: 72,
};

使用 git cz 代替 git commit,即可看到提示内容
2.安装commitlint
npm install --save-dev @commitlint/config-conventional @commitlint/cli
在这里插入图片描述
创建 commitlint.config.js 文件

module.exports = {
  // 继承的规则
  extends: ["@commitlint/config-conventional"],
  // 定义规则类型
  rules: {
    // type 类型定义,表示 git 提交的 type 必须在以下类型范围内
    "type-enum": [
      2,
      "always",
      [
        "[add]", // 新功能 feature
        "[fix]", // 修复 bug
        "[docs]", // 文档注释
        "[style]", // 代码格式(不影响代码运行的变动)
        "[refactor]", // 重构(既不增加新功能,也不是修复bug)
        "[perf]", // 性能优化
        "[test]", // 增加测试
        "[chore]", // 构建过程或辅助工具的变动
        "[revert]", // 回退
        "[build]", // 打包
      ],
    ],
    "subject-empty": [0], //
    "type-empty": [0],
    // subject 大小写不做校验
    "subject-case": [0],
  },
};
规则链接地址
https://github.com/conventional-changelog/commitlint/blob/master/docs/reference-rules.md

husky部分

npm install --save-dev husky
npx husky install
npm set-script prepare "husky install"
npm run prepare
npx husky add .husky/commit-msg ‘npx --no-install commitlint --edit “$1”’

最后生成出来这个
在这里插入图片描述
在这里插入图片描述
最终效果 (这里多了一个custom)不知道因为什么 哪位大佬知道告知下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值