golang./...text
language: golangpre-commitrepo: localadditional_dependencies

假设您希望pre-commit管理安装(这毕竟是pre-commit的一部分--它管理您的安装,所以您不需要指导您的贡献者如何安装所有内容)--为此,您需要告诉pre-commit安装类似的东西:

    # ...
    language: golang
    additional_dependencies: [honnef.co/go/tools/cmd/staticcheck@2022.1.2]
    # ...

现在让我们来处理正在传递的文件——@jkittner在上面正好击中了这个头部,但我会详细说明一下。

pre-commit
args

然后从使用类型筛选文件:

text
staticcheck -tests=false ./... $(git ls-files)

您可能希望筛选到所有文件,并且可能不想double-lint每个文件--请尝试以下方法:

    # ...
    entry: staticcheck -tests=false
    types: [go]
    # ...

或者,如果您总是想运行所有内容(我不建议这样做,这会使它一直变慢!)您可以关闭pre-commit's文件处理

    # ...
    entry: staticcheck -tests=false ./...
    pass_filenames: false
    always_run: true
    # ...

免责声明:我写了pre-commit