首页 > 解决方案 > lint-staged:“git add”命令的目的是什么

问题描述

最近我开始引入lint-staged我的前端构建工具链。当我检查有关它的文档时,我总是发现它的工作原理如下:

"husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    },
"lint-staged": {
    "src/**/*.{js,jsx,ts,tsx,json,css}": [
      "prettier --write",
      "eslint --fix src/",
      "tslint --fix --project .",
      "git add"
    ]
  },

您可以在链接中找到更多类似的用法:https ://github.com/okonet/lint-staged

我的困惑点是最后一个命令git add,它的目的是什么?

我的理解是lint-staged只验证暂存区 after git add和 before中的代码git commit。所以无法理解为什么我们需要再添加一个git add

标签: gitlintlint-staged

解决方案


你不需要git add,因为 lint-staged 10

从 v10.0.0 开始,对原始暂存文件的任何新修改都将自动添加到提交中。如果您的任务之前包含一个git add步骤,请删除它。自动行为确保了较少的竞争条件,因为尝试同时运行多个 git 操作通常会导致错误。

来源:https ://github.com/okonet/lint-staged#v10


推荐阅读