Git LFS 3.7.0 中哪个代理胜出?
梳理环境变量选择、与 URL 匹配的非空 Git 覆盖以及针对实际 LFS 请求 URL 的绕过规则。
在 Git LFS 3.7.0 中,与请求 URL 匹配的非空 Git http.proxy 值会覆盖由环境派生的代理。空的 Git 值不会清除该环境路径。
对于此版本,请按以下顺序判断:
- 读取
HTTPS_PROXY和HTTP_PROXY。非空的小写https_proxy或http_proxy会替换其对应的大写值。 - 对 HTTPS,优先使用 HTTPS 候选,并将 HTTP 候选作为回退。
- 以匹配的非空 Git
http.proxy值取代这些候选。 - 对所选请求 URL 应用绕过规则。非空的
no_proxy会替换NO_PROXY。
如果目的是直连,请检查继承的输入和预期的绕过,而不是假定空的 Git 条目已将其清除。
比较时使用实际的 LFS URL。API 与对象目标可能不同于 Git 远程地址,这会改变哪个与 URL 关联的设置匹配。
诊断时保留已安装的 LFS 版本。LFS 使用自己的 Go HTTP 传输;Git 的 libcurl 路径中的优先级无法解释这段选择代码。