运行 所有推送文件的预提交挂钩
Run pre-commit hook on all pushed files
我的设置的基本版本是 pre-commit 运行 代码 linter。但是,当我 checks/rejects 个人提交时,我发现它太长/不方便,相反,我想 运行 一旦我尝试将我的代码推送到远程 / CI。我发现我可以配置阶段,所以我决定只将推送阶段作为我所有挂钩的默认设置。然而,它最终只是让非 lint 代码被推送。也许是因为它没有将此代码识别为“已更改”,因为它 运行 在所有文件的子集上?
这是我的预提交配置:
default_stages: [push]
repos:
- repo: https://github.com/ambv/black
rev: 19.10b0
hooks:
- id: black
language_version: python3
如果技术上不可能 运行 仅在我通过此推送更改的文件上,我可以以某种方式在所有文件上 运行 吗?
您需要确保 install
预先提交您正在使用的任何阶段
例如来自 pre-commit during push 文档:
To use pre-push hooks with pre-commit, run:
$ pre-commit install --hook-type pre-push
pre-commit installed at .git/hooks/pre-push
免责声明:我创建了预提交
我的设置的基本版本是 pre-commit 运行 代码 linter。但是,当我 checks/rejects 个人提交时,我发现它太长/不方便,相反,我想 运行 一旦我尝试将我的代码推送到远程 / CI。我发现我可以配置阶段,所以我决定只将推送阶段作为我所有挂钩的默认设置。然而,它最终只是让非 lint 代码被推送。也许是因为它没有将此代码识别为“已更改”,因为它 运行 在所有文件的子集上?
这是我的预提交配置:
default_stages: [push]
repos:
- repo: https://github.com/ambv/black
rev: 19.10b0
hooks:
- id: black
language_version: python3
如果技术上不可能 运行 仅在我通过此推送更改的文件上,我可以以某种方式在所有文件上 运行 吗?
您需要确保 install
预先提交您正在使用的任何阶段
例如来自 pre-commit during push 文档:
To use pre-push hooks with pre-commit, run:
$ pre-commit install --hook-type pre-push pre-commit installed at .git/hooks/pre-push
免责声明:我创建了预提交