【发布时间】:2019-10-15 16:24:34
【问题描述】:
我正在尝试使用 pre-commit 来管理 Black 作为 Git 预提交挂钩,但我一定做错了。
在我的预提交配置文件中,我有:
- repo: https://github.com/psf/black
rev: 19.3b0
hooks:
- id: black
我期望发生的事情是让 Black 只修改暂存文件,并让提交成功。因为 Black 的全部意义在于它自动执行 Python 代码样式规则,所以没有任何问题。
实际发生的情况当我暂存一个(不符合黑色标准的)文件并尝试提交时:Black 继续修改文件以使其符合预期...但是问题是它返回一个“失败”。所以提交失败。然后我必须取消暂存文件,然后在再次提交之前重新暂存它......只有这样提交才能成功。
这是一个巨大的烦恼,不可能是预期的工作流程?
我做错了什么?
【问题讨论】:
-
我还认为,对于像 black 这样的工具,它专门用于在不需要人工监督的情况下修改文件,即使它已经更改了文件,也应该提交文件。我在
black存储库上打开了一个问题:github.com/psf/black/issues/1857
标签: git githooks pre-commit pre-commit.com python-black