如何防止 eslint 阻止 git 提交?
How to prevent eslint from blocking git commit?
我是 eslint 的新手,正在使用它来加强编码风格。但是,当我在代码中写入 TODO
项时,我收到了 eslint 警告,没关系。但是,现在当我尝试 git 提交时,它返回:
**** ESLint errors found :
line 145, col 9, Warning - Unexpected 'todo' comment. (no-warning-comments)
如何防止 eslint 阻止我提交?我希望它仍然警告我有关 TODO 等的信息,但我也希望能够提交我的代码。
您有预提交挂钩。
git commit --no-verify
允许避免一次。或者您可以将其从 .git/hooks.
中完全删除
解决方案
我导航到我的 .git/hooks
目录并找到了一个预提交 bash 脚本。在 eslint 失败的情况下,我将 return 值从 1 更改为 0 并解决了问题。
0 值表示通过并允许提交继续,非零值表示失败状态并将取消提交。
通常警告不会阻止仅提交错误。如果它设置为错误,您可以将其切换为警告,但看起来您可能已经将其设置为警告。
"rules": {
...
"no-warning-comments": 0,
...
}
另一个选项是禁用给定行的规则
// eslint-disable-next-line no-warning-comments
// TODO disable eslint warning for this todo ;)
尽管这样可以完全避免出现警告
否则你需要查看正在设置什么来防止提交,很可能是位于 root/.git/hooks/pre-commit
的预提交挂钩中的某些内容并告诉它允许警告并阻止错误
在我的案例中,罪魁祸首是 package.json
由创建 CLI 的项目自动创建的条目 (nuxt.js
)。我从 package.json
中删除了这些条目:
"lint-staged": { ... },
"husky": { ... }
它解决了问题。
提交时使用 --no-verify 预提交挂钩。
git commit --no-verify -m "Commit message"
我是 eslint 的新手,正在使用它来加强编码风格。但是,当我在代码中写入 TODO
项时,我收到了 eslint 警告,没关系。但是,现在当我尝试 git 提交时,它返回:
**** ESLint errors found :
line 145, col 9, Warning - Unexpected 'todo' comment. (no-warning-comments)
如何防止 eslint 阻止我提交?我希望它仍然警告我有关 TODO 等的信息,但我也希望能够提交我的代码。
您有预提交挂钩。
git commit --no-verify
允许避免一次。或者您可以将其从 .git/hooks.
中完全删除解决方案
我导航到我的 .git/hooks
目录并找到了一个预提交 bash 脚本。在 eslint 失败的情况下,我将 return 值从 1 更改为 0 并解决了问题。
0 值表示通过并允许提交继续,非零值表示失败状态并将取消提交。
通常警告不会阻止仅提交错误。如果它设置为错误,您可以将其切换为警告,但看起来您可能已经将其设置为警告。
"rules": {
...
"no-warning-comments": 0,
...
}
另一个选项是禁用给定行的规则
// eslint-disable-next-line no-warning-comments
// TODO disable eslint warning for this todo ;)
尽管这样可以完全避免出现警告
否则你需要查看正在设置什么来防止提交,很可能是位于 root/.git/hooks/pre-commit
的预提交挂钩中的某些内容并告诉它允许警告并阻止错误
在我的案例中,罪魁祸首是 package.json
由创建 CLI 的项目自动创建的条目 (nuxt.js
)。我从 package.json
中删除了这些条目:
"lint-staged": { ... },
"husky": { ... }
它解决了问题。
提交时使用 --no-verify 预提交挂钩。
git commit --no-verify -m "Commit message"