【问题标题】:how to let pre-commit only check the python codes you changed, not the whole file如何让预提交只检查您更改的python代码,而不是整个文件
【发布时间】:2020-05-14 10:05:49
【问题描述】:

在提交到 git 之前,我使用 pre-commit 检查了我的 python 代码样式。 它工作得很好。但是现在我正在做一个旧项目,我的大部分工作只是修改文件的几行。但是预提交总是要求我修复文件的所有 pep8 问题。

有没有办法让预提交只检查我刚刚修改的代码而不是整个文件?

【问题讨论】:

    标签: python pylint pre-commit pre-commit.com


    【解决方案1】:

    一般没有。 pre-commit 在 file 级别上操作,不会以任何方式解析底层工具的输出

    如果底层工具支持部分更改,那么您可以使用该单独工具的功能,但在框架级别这样做很困难,容易出错(工具输出没有标准化),最重要的是缓慢(重新解析输出和差异并不便宜)

    在适应较旧的代码库时,您最好先进行一次测试,以提高代码质量,然后启用您的 linting 工具。通常,您可以利用 autopep8black 等代码格式化程序来简化采用过程


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

    【讨论】:

    • 非常感谢。因为我们的代码库有点,改进所有的文件风险太大,我会尝试寻找其他方法。
    • 如果您不想一次完成所有操作,可以使用top-level files: 定期选择加入(尽管通常逐步推出会导致更多合并冲突! )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2016-11-16
    • 2020-02-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多