我正在尝试在工作中进行预提交工作(我让它在个人计算机上工作)。我们的安全设置不允许预先提交引用外部存储库并从中安装外部包。
看来我的选择是:
在决定采取哪条路径之前,我想更多地了解本地存储库的工作原理,但在预提交网站(或其他地方)上找不到大量有关具体细节的文档。
我有 .pre-commit-config.yml 设置,如下例所示。
repos:
- repo: local
hooks:
- id: isort
name: Run isort
entry: isort
language: system
- id: black
name: Run black
entry: black
language: system
- id: flake8
name: Run flake8
entry: flake8
language: system
- id: pydocstyle
name: Run pydocstyle
entry: pydocstyle
language: system
Run Code Online (Sandbox Code Playgroud)
如果我使用上面的 .pre-commit-config.yml,则使用什么系统版本的软件包?它是活动 conda 环境中的版本(我正在使用 conda)吗?我认为情况会是这样,但预提交挂钩似乎正在运行,即使我没有isort、black、 和flake8或pydocstyle我认为情况确实如此,但即使我在激活的 conda 环境中
这对我来说似乎很奇怪,但我无法在网上找到任何内容来确认这些软件包的系统版本将在本地存储库设置中使用。
language: python另外,如果我使用而不是会发生什么language: system?
除了我概述的内容之外,如果其他人对使用预提交和我面临的安全限制有任何想法,我也很乐意。
Ant*_*ile 19
存储库本地挂钩记录在此处
一般来说,它们是框架的逃生舱口,通常不是您应该采取的路线(建议的路线是使用可重用存储库)
language: system是一个额外的逃生舱口,在这种模式下,预提交不会管理您的工具,您必须手动安装它们(这完全违背了框架的目的,但它在某些用例中启用了一定程度的遗留兼容性)。因为language: system它将运行这些工具,就像您在 shell 中运行它们一样(例如entry: flake8将使用任何which flake8返回值)
language: python另一方面是托管环境,预提交将为您设置并安装它。〜通常,如果您使用language: pythonwith,repo: local您将利用它additional_dependencies来安装这些东西
网站上也记录了每种语言
免责声明:我创建了预提交
| 归档时间: |
|
| 查看次数: |
17977 次 |
| 最近记录: |