• 前端提交信息规范——commitlint


    一 安装

    需要先保证安装过依赖 husky

    npm install --save-dev husky
    

    安装@commitlint/config-conventional @commitlint/cli

    npm install --save-dev @commitlint/config-conventional @commitlint/cli
    

    二 配置

    生成配置文件commitlint.config.js,当然也可以是 .commitlintrc.js

    echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js
    

    在husky的配置加入CommitlIint配置,v1.0.1版本以后为HUSKY_GIT_PARAMSv0.14.3GIT_PARAMS

    "husky": {
        "hooks": {
          "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS"
        }
      },
    

    三 提交规范

    3.1 提交格式(注意冒号后面有空格)

    git commit -m <type>[optional scope]: <description>
    

    3.1.1 常用的type类别

    type :用于表明我们这次提交的改动类型,是新增了功能?还是修改了测试代码?又或者是更新了文档?总结以下 11 种类型:

    • build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
    • ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
    • docs:文档更新
    • feat:新增功能
    • fix:bug 修复
    • perf:性能优化
    • refactor:重构代码(既没有新增功能,也没有修复 bug)
    • style:不影响程序逻辑的代码修改(修改空白字符,补全缺失的分号等)
    • test:新增测试用例或是更新现有测试
    • revert:回滚某个更早之前的提交
    • chore:不属于以上类型的其他类型(日常事务)

    optional scope:一个可选的修改范围。用于标识此次提交主要涉及到代码中哪个模块。

    description:一句话描述此次提交的主要内容,做到言简意赅。

    例子:

    git commit -m 'feat: 增加 xxx 功能'
    git commit -m 'bug: 修复 xxx 功能'
    

    3.1.2 subject

    subject是 commit 目的的简短描述,可以做一些配置,如最大长度限制。

    3.2 commitlint.config.js文件配置

    rule配置说明::rule由name和配置数组组成,如:'name:[0, 'always', 72]',数组中第一位为level,可选0,1,2,0为disable,1为warning,2为error,第二位为应用与否,可选always|never,第三位该rule的值。具体配置例子如下:

    module.exports = {
      extends: [
        "@commitlint/config-conventional"
      ],
      rules: {
        'type-enum': [2, 'always', [
          'upd', 'feat', 'fix', 'refactor', 'docs', 'chore', 'style', 'revert'
         ]],
        'type-case': [0],
        'type-empty': [0],
        'scope-empty': [0],
        'scope-case': [0],
        'subject-full-stop': [0, 'never'],
        'subject-case': [0, 'never'],
        'header-max-length': [0, 'always', 72]
      }
    };
    

    这里列出了大部分常用的配置,其它的可以参考Commitlint网站

  • 相关阅读:
    nginx反向代理配置根据User-Agent跳转m站
    Windows环境下安装Redis
    Python的requests、greenlet和gevent模块在windows下安装
    zabbix-agent报错:zabbix_agentd [5922]: cannot open log: cannot create semaphore set: [28] No space left on device
    aws存储桶s3使用
    使用云负载时将http的请求转发至https时报错:“ERR_TOO_MANY_REDIRECTS”!
    使用CDN后配置nginx自定义日志获取访问用户的真实IP
    自动化运维工具saltstack05 -- 之salt-ssh模式
    CentOS7.2下配置SOCKS5代理
    Arch Linux 硬盘引导-联网安装
  • 原文地址:https://www.cnblogs.com/qiqi715/p/12737297.html
Copyright © 2020-2023  润新知