如何解决在所有推送的文件上运行预提交挂钩
我的设置的基本版本是让 pre-commit 运行代码检查器。但是,当它检查/拒绝单个提交时,我发现它太长/不方便,相反,一旦我尝试将代码推送到远程/CI,我想运行它。我发现我可以配置 stage,所以我决定只将 push stage 作为我所有钩子的默认设置。然而,它最终只是让非 linted 代码被推送。也许是因为它没有将这段代码识别为“已更改”,因为它在所有文件的子集上运行?
这是我的预提交配置:
default_stages: [push]
repos:
- repo: https://github.com/ambv/black
rev: 19.10b0
hooks:
- id: black
language_version: python3
如果技术上不可能只在我通过这次推送更改的文件上运行它,我可以以某种方式在所有文件上运行它吗?
解决方法
您需要确保install
为您使用的任何阶段预先提交
例如来自 pre-commit during push 文档:
要在预提交中使用预推送钩子,请运行:
$ pre-commit install --hook-type pre-push
pre-commit installed at .git/hooks/pre-push
免责声明:我创建了预提交
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。