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

嵌套Go模块场景下pre-commit无法识别golang文件的问题问询

问题原因

  • pre-commit的路径匹配规则全局基于Git仓库根目录(即你场景里的~/work/myrepo/)计算,你当前配置的files: ^eck-user-mgmt/规则本身符合路径要求,触发跳过的核心原因是:默认pre-commit run仅校验已经加入Git暂存区的文件,你执行命令时只暂存了.pre-commit-config.yaml配置文件,没有任何Go相关文件在暂存区,自然匹配不到符合钩子规则的文件,触发跳过逻辑。

解决方案

方案1:调整配置+正常执行(推荐)

修改eck-user-mgmt目录下的.pre-commit-config.yaml,细化文件匹配规则避免误匹配:

---
files: ^eck-user-mgmt/.*\.(go|mod|sum)$
repos:
  - repo: git://github.com/dnephin/pre-commit-golang
    rev: v0.4.0
    hooks:
      - id: go-fmt
      - id: go-imports
      - id: go-unit-tests
      - id: go-mod-tidy
      - id: golangci-lint

后续执行校验前,把需要校验的Go文件加入暂存区即可正常触发:

# 暂存当前目录下的Go相关文件 + 配置文件
git add *.go go.mod go.sum .pre-commit-config.yaml
# 执行校验
pre-commit run
# 如需全量校验子目录下所有Go相关文件,执行以下命令
pre-commit run --all-files

方案2:不修改配置,执行时指定文件范围

如果不想改动现有配置,执行命令时主动传入需要校验的文件路径即可:

# 校验当前目录下所有Go相关文件
pre-commit run --files ./**/*.go go.mod go.sum

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:27:03