You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

合并后执行Git提交时遭遇lint-staged报错问题求助

Git Commit 失败(lint-staged 报错)原因及解决办法

合并代码后仅需推送1个文件,执行git add .和git commit -m "Merge"时触发lint-staged任务失败,核心报错信息为The command line is too long,后续prettier、stylelint等任务因连锁反应被终止(显示KILLED)。

报错原因

  • 根本原因:git add .将所有文件加入了暂存区,尽管你只需要推送1个文件,但lint-staged会对所有暂存文件执行校验任务,导致传递给eslint的文件列表过长,超出系统允许的命令行长度上限。
  • 后续任务KILLED是连锁结果:eslint任务失败后,lint-staged会终止所有后续任务并回滚修改,并非prettier、stylelint等工具本身出错。

解决办法

临时解决(完成本次提交)

  • 放弃git add .,仅添加你需要推送的目标文件:
    git add path/to/your-target-file
    
    之后重新执行git commit -m "Merge",此时lint-staged仅处理单个文件,命令行长度符合要求,任务可正常执行。

长期优化(避免重复踩坑)

  • 细化lint-staged配置:按目录或文件类型拆分校验任务,避免一次性处理大量文件。
  • 调整暂存习惯:提交前先通过git reset HEAD -- .取消所有暂存,再单独添加需要提交的文件,避免误暂存大量无关文件。
  • (不推荐)调整系统命令行长度限制:Windows可修改注册表,Linux/macOS可调整ARG_MAX参数,但优先从git暂存和lint-staged配置入手解决。

内容的提问来源于stack exchange,提问作者Florentino Tuason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:25:17