lint-staged:'git add' 命令的目的是什么

Chr*_*Bao 6 git lint lint-staged

最近我开始使用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"
    ]
  },
Run Code Online (Sandbox Code Playgroud)

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

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

我的理解是lint-stagedgit addgit commit. 所以不明白为什么我们需要再添加一个git add

Do *_*ync 17

git add自 lint-staged 10 起您不需要

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

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

  • 这是该答案的链接 https://github.com/okonet/lint-staged#v10 (2认同)

Chi*_*yen 5

它使用 husky 在提交之前挂钩一些操作。参见: https: //github.com/typicode/husky

lint-staged只需更改您的代码并使其 linting (它在husky提交之前运行)。更改后,需要重新添加以更新git index。您的更改将在您的提交中生效。