zoukankan      html  css  js  c++  java
  • Git项目提交规范结合Husky + commitlint使用

    一、前置条件

      为了更好地 GIT 提交,加入了代码提交规范和规范校验,优雅的提交;

      方便团队协作和快速定位问题,采取 Husky + commitlint 辅助项目做约定。

       npm install --save-dev husky  

      For windows install commintlint:

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

    二、配置

      // 命令生成配置文件 commitlint.config.js 或 .commitlintrc.js

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

      package.json 添加commitlint配置项:

    "husky": {
        "hooks": {
          "pre-commit": "npm run lint",
          "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS"
        }
    }

      husky是git hook工具,文件格式 .huskyrc,它能帮你阻挡不好的代码提交和推送;

      (pre-commit 钩子命令用于提交前运行检查,看项目情况决定要不要使用,

       "pre-commit": "lint-staged"  扩展使用lint-staged库辅助,或者是自定义lint,

       "lint": "eslint src --fix --ext .ts,.tsx "  

             

      或者创建文件 .lintstagedrc  

      (如果无pre-commit限制,使用 --no-verify  eg: git commit --no-verify -m 'feat: 增加 xxx 功能'  )

    三、定制提交规范

      1.提交格式(冒号后面有空格):

        '<type>[scope]: <subject>'
      // eg: git commit -m 'feat: 增加什么功能'

        type|subject 必选,scope 可选;

        scope 可省略,用于说明commit的影响范围和模块;

        subject 是commit的目的简短描述,可以配置最大长度限制,配置72字符;

      2.常用type类型

    'build' 

    项目构建的提交(eg:webpack配置等)
    'upd'  更新某个功能
    'feat' 新功能(feature)
    'fix' 修补bug

    'refactor'

    重构代码(不是新增也不是修补代码)
    'style' 不影响程序逻辑的改动(eg:格式)
    'perf' 性能优化
    'revert' 回滚到某个更早的提交

    'docs'

    文档更新

    'chore' 

    其他类型(eg:构建过程或辅助工具的变化)

    'test'

    增加测试用例

      3. commitlint config rules

        level: 0为disable,1为warning,2为error;

         第二位: 'always'或'never';

         第三位: 值

      4.配置图如下:

      

    四、范例

      终端(开发分支)步骤:

      git add . -> git commit –no-verify –m ‘upd: 更新某个功能’-> git push

      github desktop /vscode git管理/TortoiseGit客户端:

      暂存更改 -> 描述(upd: 更新某个功能) commit  ->  push/fetch

      

  • 相关阅读:
    2017的结束2018的开始
    .NET Core使用swagger进行API接口文档管理
    数据库可扩展设计方案
    容量估算--随时更新
    分库分表设计基础
    利用bucardo搭建PostgreSQL数据库双活
    通过pgAgent实现PostgreSQL上的自动作业
    MySQL主主配置
    Oracle统计信息不准(谓词越界)造成的性能问题
    获取Oracle中SQL语句的执行计划
  • 原文地址:https://www.cnblogs.com/anniey/p/14134076.html
Copyright © 2011-2022 走看看