代理值 0 并不会关闭 Git 的代理
需要直连时,请使用 Git 文档规定的空代理值,并检查是哪个作用域提供了名为 0 的端点。
Git 的 http.proxy 设置是代理地址,不是开/关布尔值。赋值为 0 会让传输层把它当作一个端点来解释,而不是请求“不使用代理”。
对于某一次确需刻意直连的 Git HTTP 操作,Git 文档给出的做法是把代理覆盖为空值:
git -c http.proxy= ls-remote https://git.example/project.git
仓库 URL 仅为示例。-c 赋值只对那一次调用生效。只有在网络策略确实要求直连时,才使用直连路径。
若要持久修复,先找出这个多余值的来源。Git 会合并系统级、用户级和仓库级配置,http 代理设置还可能按 URL 区分。删掉一个全局值,并不会删掉仓库级覆盖,也不会删掉从环境继承来的代理。
取消设置某个配置键,会让另一条仍然适用的输入生效;把它显式设为文档规定的空值,才是明确关闭该设置对应的代理。选择哪种做法,取决于该仓库应当沿用常规路由,还是保留一次刻意的直连覆盖。