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

如何通过pre-commit让check-yaml忽略特定文件或代码行?

解决check-yaml钩子忽略mkdocs.yml或特定行的问题

方法一:在pre-commit配置中排除整个mkdocs.yml文件

.ruffignore和pyproject.toml里的exclude字段仅对Ruff生效,check-yaml属于pre-commit钩子,需在.pre-commit-config.yaml中单独配置排除规则:

找到check-yaml的钩子条目,添加exclude字段指定要忽略的文件:

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0 # 替换为你实际使用的版本号
    hooks:
      - id: check-yaml
        exclude: ^mkdocs.yml$

方法二:允许check-yaml识别Python标签(无需忽略文件)

报错根源是check-yaml默认禁用了PyYAML的不安全构造器(比如!!python/name这类Python特定标签),给钩子添加--unsafe参数即可允许加载这类标签:

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0 # 替换为你实际使用的版本号
    hooks:
      - id: check-yaml
        args: [--unsafe]

这种方式既不用忽略整个配置文件,也能让check-yaml通过对包含Python标签的mkdocs.yml的检查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:22:37