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

如何无需重复配置即可让LICENSES目录仅被指定pre-commit hook处理

方案1:YAML锚点复用排除规则(最稳定可靠)

pre-commit支持YAML原生的锚点引用能力(仅不支持合并键<<),你可以在配置顶部预先定义公共排除规则的锚点,所有需要排除LICENSES目录的hook直接引用即可,无需重复编写匹配规则,修改时只需更新顶部锚点的值就能全局生效:

# 顶部预定义公共排除规则锚点
exclude_licenses: &exclude_licenses '^LICENSES/'

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.0.1
    hooks:
      - id: check-case-conflict
        exclude: *exclude_licenses
      - id: end-of-file-fixer
        exclude: *exclude_licenses
      - id: mixed-line-ending
        exclude: *exclude_licenses
      - id: trailing-whitespace
        exclude: *exclude_licenses
  # 此处替换为实际的reuse hook配置即可,无需加排除规则
  - repo: meta
    hooks:
      - id: identity

方案2:子目录配置覆写(适合hook数量较多的场景)

如果你的仓库hook数量特别多,逐个添加排除规则的成本过高,可以在LICENSES目录下新建一个空的.pre-commit-config.yaml文件,内容为:

repos: []

pre-commit扫描到子目录的配置文件时会优先使用该配置,LICENSES目录下的文件会直接跳过所有通用hook的校验,仅保留根目录配置的reuse hook扫描逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:30:00