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

如何让ty类型检查器仅检查Git版本控制下的文件?

让ty仅检查Git版本控制文件的解决方案

在Python项目中使用ty作为pre-commit的类型检查工具时,要避免它检查未加入Git的临时文件,可通过以下几种方法实现:

方法1:修改pre-commit钩子,仅传递Git跟踪文件

编辑项目根目录的.pre-commit-config.yaml,找到ty的钩子配置,调整为:

- repo: https://github.com/astral-sh/ty-pre-commit
  rev: v0.10.0  # 替换为你实际使用的版本号
  hooks:
    - id: ty
      pass_filenames: false
      args: ["$(git ls-files '*.py' '*.ipynb')"]

该配置通过git ls-files命令获取所有Git已跟踪的.py和.ipynb文件,让ty仅对这些文件执行检查,完全跳过未纳入版本控制的临时文件。如果你的临时文件涉及其他后缀,只需扩展git ls-files后的匹配模式即可。

方法2:通过ty配置忽略特定临时文件

若临时文件命名有固定规律(比如你常用的x.py、x.ipynb),可在项目的pyproject.toml中添加ty的排除规则:

[tool.ty]
exclude = [
    "^x\\.py$",
    "^x\\.ipynb$",
    # 可按需添加更多临时文件的正则匹配规则
]

这种方法无需修改pre-commit钩子,直接通过ty自身的配置过滤掉指定临时文件。

方法3:限制pre-commit的文件扫描范围

虽然pre-commit的files参数是基于文件名正则匹配,但结合pass_filenames: false和Git命令的方式(即方法1)是最可靠的,因为它直接基于Git的跟踪状态筛选文件,不会误判。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 16:32:44