gpt4 book ai didi

python - 使用预提交,如何在提交前使用一些钩子(Hook),在推送前使用其他钩子(Hook)

转载 作者:行者123 更新时间:2023-12-04 12:36:48 30 4
gpt4 key购买 nike

有些钩子(Hook)可能需要一段时间才能运行,我想在推送之前运行它们,但不是在每次特定提交之前运行(例如,pylint 可能有点慢)。
我看到了以下内容:

  • Question: Using hooks at different stages
  • mesos-commits mailing list archives
  • Feature request: pre-commit or pre-push only hooks

  • 但目前还不清楚我应该如何设置它。
    这是我尝试过的:
    default_stages: [commit]
    repos:
    - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.1.0
    hooks:
    - id: end-of-file-fixer
    - id: trailing-whitespace
    - repo: https://github.com/psf/black
    rev: 19.10b0
    hooks:
    - id: black
    stages: [push]
    从那以后,我期待前几个钩子(Hook)在提交之前运行(他们这样做),但我期待黑色在推送之前运行,但事实并非如此。
    为了测试我是否创建了以下文件:
    """This is a docstring."""

    print('this should be formatted')
    这当然不是黑色格式化的。

    最佳答案

    您的配置是正确的,除了 pre-commit/pre-commit-hooks 中的空格 Hook set stages themselves所以他们不会受到default_stages的影响
    稍微调整您的配置:

    repos:
    - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.1.0
    hooks:
    - id: end-of-file-fixer
    stages: [commit]
    - id: trailing-whitespace
    stages: [commit]
    - repo: https://github.com/psf/black
    rev: 19.10b0
    hooks:
    - id: black
    stages: [push]
    接下来你需要确保 两者 的钩子(Hook)脚本已安装
    您可以同时安装 pre-commitpre-push同时提交使用:
    pre-commit install --hook-type pre-commit --hook-type pre-push
    或者您可以单独运行它们:
    pre-commit install  # installs .git/hooks/pre-commit
    pre-commit install --hook-type pre-push # installs .git/hooks/pre-push
    请注意,第二个命令直接来自 the documentation on using pre-push

    免责声明:我是 pre-commit 和 pre-commit-hooks 的作者

    关于python - 使用预提交,如何在提交前使用一些钩子(Hook),在推送前使用其他钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63820683/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com