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

Angular Java项目Git提交遇Validation Error,求解决方案

解决pre-commit配置过时导致的Git提交错误

错误原因

你遇到的是pre-commit工具的旧版配置格式废弃问题,linters和ignore字段的写法已不再被支持,必须改用新的repos+hooks配置结构。

解决步骤

  1. 找到项目根目录下的.pre-commit-config.yaml(如果是.json格式同理)
  2. 替换旧配置为新格式:

旧错误配置示例

linters:
  '*@(js)': [ 'eslint --fix', 'git add' ]
  '*@(ts)': [ 'tslint --fix', 'git add' ]
ignore: [ 'spec-dtslint/**/*.{js,ts}', 'api_guard/**/*.{js,ts}' ]

新配置替换方案

# 全局忽略规则(也可以给每个hook单独配置exclude)
exclude: |
  (?x)^(
    spec-dtslint/**/*.{js,ts}|
    api_guard/**/*.{js,ts}
  )$

repos:
  - repo: local
    hooks:
      # JavaScript代码自动修复+暂存
      - id: eslint-fix
        name: eslint-fix
        entry: eslint --fix
        language: system
        types: [javascript]
        post-commit: git add

      # TypeScript代码自动修复+暂存
      - id: tslint-fix
        name: tslint-fix
        entry: tslint --fix
        language: system
        types: [typescript]
        post-commit: git add
  1. 重新安装pre-commit钩子:
pre-commit install
  1. 验证修复:尝试重新提交代码,错误应该会消失。

补充说明

  • 确保项目依赖中已安装eslint和tslint,如果没有则执行:
    yarn add eslint tslint --dev
    
  • 之前删除.git/hooks重新执行npm install无效,是因为问题根源在配置文件格式,不是钩子脚本本身。

内容的提问来源于stack exchange,提问作者pratiksha mayekar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:52:31