目录:
  1. 应用场景
    1. 文档
      1. 配置
        1. git
          1. husky
            1. 安装
            2. 配置方式
            3. 环境变量
        2. 示例

          项目规范化4-githooks的配置与使用

          阅读时间:全文 377 字,预估用时 2 分钟
          创作日期:2020-05-05
          文章标签:
           
          BEGIN

          应用场景

          现在代码管理一般使用git, precommit就是在git的commit操作前执行相关命令, 一般配合代码lint、prettier或commitlint使用, 配套的还有prepush、commit-msg等.

          文档

          使用husky实现git hooks功能

          项目地址: husky Github 🔗

          配置

          husky依赖于git hooks, 所以在使用husky前需要确保git版本等是符合要求的

          git

          husky依赖于Node >= 10Git >= 2.13.0, 所以要先确保node和git版本符合要求

          初始化git init后我们可以看到./.git/hooks目录下有很多*.sample的文件, 这些文件都是git hooks的示例文件. 如果没有看到./.git/hooks目录请检查git版本

          husky

          安装

          执行命令yarn add husky --dev安装husky包

          完成后可在目录./.git/hooks看到增加了很多不带.sample后缀的文件

          配置方式

          1. package.json文件中新增"husky"键, 如:
            {
              "...": "...",
              "husky": {
                "hooks": {
                  "pre-commit": "...",
                  "pre-push": "...",
                  "...": "..."
                }
              }
            }
          2. 如果husky版本大于1.0.0, 则可在项目根目录生成.huskyrc, .huskyrc.json, .huskyrc.jshusky.config.js文件, 内容相当于导出值为package.jsonhusky键的值.

          环境变量

          1. HUSKY_SKIP_HOOKS=1: 跳过或忽略所有hooks
          2. HUSKY_SKIP_INSTALL=1: 安装husky时不会同时安装挂钩到./.git/hooks
          3. HUSKY_DEBUG=1: 开启debug模式
          4. $HUSKY_GIT_PARAMS: 输出git执行命令的参数

          示例

          使用前面两篇文章定义的scripts命令, precommit时检查代码并格式化代码, 并检查commit msg是否符合commitlint规范:

          {
            "...": "...",
            "husky": {
              "hooks": {
                "pre-commit": "yarn lint && yarn prettier",
                "commit-msg": "commitlint -E $HUSKY_GIT_PARAMS"
              }
            }
          }
          FINISH

          随机文章
          人生倒计时
          default