问题标签 [pre-commit.com]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 预提交:如何禁用对未暂存文件的检查?
我的pre-commit.com配置如下所示:
如果我尝试提交,我会收到此错误:
我想避免检查未暂存的文件。我知道我在做什么,如果我只想提交一些更改(不是全部),那么我想这样做。
如何禁用对未暂存文件的检查?
git - eslint 和 vue 的预提交钩子
我正在为多语言项目中的几个钩子使用预提交。我所有现有的钩子都在工作。我现在正在尝试获取eslint
包含Vue 2
文件的挂钩设置。
这是我.pre-commit-config.yaml
的eslint
部分:
这适用于 javascript 文件,但完全忽略了 Vue 2 文件。我已经基于此设置了上述配置: Eslint for vue和pre-commit eslint。
我尝试.eslintrc
在项目的根目录中添加以下文件,但没有帮助:
Vue 文件被完全忽略。
pre-commit.com - 有什么方法可以从钩子中获取用户输入?
我有这个 ruby 代码在一个钩子中,但它不会像我想要的那样挂起等待用户输入。
有没有办法做到这一点?
pre-commit.com - pre-commit.com:.pre-commit-config.yaml 和 requirements.txt 中的相同版本
我想在requirements.txt
和 in 中使用完全相同版本的 flake8 .pre-commit-config.yaml
。
为了避免冗余,我想在我的仓库中只保留 flake8 的版本号一次。
pre-commit.com 可以从中读取 flake8 的版本号requirements.txt
吗?
python - 在本地服务器上使用 Python 预提交
我正在使用一个名为 pre-commit 的 python 包来为我的团队标准化 git 工作流。
由于公司代理与 github,我在使用此包https://github.com/pre-commit/mirrors-mypy设置预提交挂钩时遇到一些问题。
我决定下载该软件包并将其上传到我们的本地 bitbuket 服务器并设置预提交以将其用作本地存储库。
这是我的 .pre-commit-config.yaml 文件
然后我运行了 pre-commit install 并在我的 git bash 中运行了
但我得到的结果是
pre-commit.com - 如果文件包含特定字符串,则 pre-commit.com 钩子拒绝提交
如果文件包含特定字符串,是否已经有一个pre-commit.com钩子来拒绝提交?
我知道如何使用 git pre-commit 钩子来做到这一点:https ://stackoverflow.com/a/26836281/633961
但我想采用 pre-commit.com 的方式,因为这会将我的方式简化为其他开发人员完成的方式。
例如,我也想使用其他人使用的相同字符串。
python - 预提交找不到 python 包
我使用pyenv来支持拥有不同版本的 python。
在使用 python 3.7的项目中,我还希望在进行代码更改时运行预提交的 linting。
但是当 lint 规则运行时,预提交似乎在用户下的缓存文件夹中查找 python 包,因此找不到它们..即使它们安装在系统级别。例如:
我该如何解决这个问题。(一位同事通过运行/Users/[]/.cache/pre-commit/repo180cws4u/bin/python install -m six
解决了这个问题,但感觉不对..必须可以配置为使用系统包或类似的..?
python - 黑色忽略跳过字符串规范化标志
在我的pre-commit
配置中,我有black
版本19.10b0
,并且在pyproject.toml
我有行:
skip-string-normalization = true
所以我的字符串没有标准化双引号。
但是然后我运行pre-commit autoupdate
,black
版本升级到20.8b1
并且所有字符串都被规范化为双引号变体。
我不明白为什么会发生这种情况,有什么原因吗?
black
更改日志没有关于这两个版本之间的字符串或引号。
此外,如果我明确传递pyproject.toml
给black
(使用args: [--config=./pyproject.toml]
线)它仍然规范化字符串
python - 预提交内置钩子的入口命令
我想从命令行运行一些从pre-commit包中可用的内置钩子,而不是作为钩子,而只是从命令行根据需要来发现干净的文件。
例如,如果我想在项目中的任意文件上运行 black,我可以使用black [directory]
命令运行它。
我在文档中没有看到内置钩子的入口命令是什么trailing-whitespace
。
例如,我想foo.py
通过键入来清除尾随空格trailing-whitespace foo.py
。但是,这不起作用。
怎么做呢?
local
附带说明一下,如果像在本地环境中安装预提交一样运行钩子,这也应该是可能的。
python - 如果代码包含 %s 格式,如何发出警告
我从 2001 年开始使用 Python,并且非常习惯于%s
字符串格式化。
在我当前的环境中,代码应该用 f 字符串格式化。
如何自动检查我的代码,以免我不小心使用我的旧习惯?