Angular Java项目Git提交遇Validation Error,求解决方案
解决pre-commit配置过时导致的Git提交错误
错误原因
你遇到的是pre-commit工具的旧版配置格式废弃问题,linters和ignore字段的写法已不再被支持,必须改用新的repos+hooks配置结构。
解决步骤
- 找到项目根目录下的
.pre-commit-config.yaml(如果是.json格式同理) - 替换旧配置为新格式:
旧错误配置示例
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
- 重新安装pre-commit钩子:
pre-commit install
- 验证修复:尝试重新提交代码,错误应该会消失。
补充说明
- 确保项目依赖中已安装
eslint和tslint,如果没有则执行:yarn add eslint tslint --dev - 之前删除
.git/hooks重新执行npm install无效,是因为问题根源在配置文件格式,不是钩子脚本本身。
内容的提问来源于stack exchange,提问作者pratiksha mayekar
相关产品推荐
相关产品推荐

