【问题标题】:why http_proxy,https_proxy,all_proxy env didn't work For me when i use git proxy?当我使用 git 代理时,为什么 http_proxy、https_proxy、all_proxy env 对我不起作用?
【发布时间】:2013-06-28 02:14:36
【问题描述】:

现在我需要克隆一些存储库,但是它们被禁止了,然后我阅读了https://www.kernel.org/pub/software/scm/git/docs/git-config.html的一些文字:

http.proxy

覆盖 HTTP 代理,通常使用 http_proxy、https_proxy 和 all_proxy 环境变量(参见 curl(1))。这可以在每个远程的基础上被覆盖;见远程..代理

然后我设置了三个 env virables:

export all_proxy="domain.com:8888"
export http_proxy="domain.com:8888"
export https_proxy="domain.com:8888"

但它不起作用,然后我将它们重置为“”,然后我设置 http.proxy 使用这个:

git config --local http.proxy "domain.com"

它有效。但我不应该设置全局,因为可能有其他人正在克隆但他们不应该使用代理,为什么设置三个 env virables 不起作用?

【问题讨论】:

    标签: git proxy http-proxy env


    【解决方案1】:

    要么是因为您将环境设置为domain.com:8888 并且没有在 git 配置中指定端口,要么是因为您需要将这些环境变量大写。

    你也意识到,你可以为每个 repo 设置 git vars?所以你可以这样做:

    git init myrepo
    cd myrepo
    git config http.proxy "domain.com"
    git remote add origin myremote
    git fetch --all
    git checkout -B master origin/master
    

    然后只有这个 repo 才是你的代理。

    【讨论】:

    • 有没有一种方法可以在我克隆特定存储库时指定代理?
    • 不是纯 git。您可以编写一个包装脚本来处理它。
    • 我可以帮忙,但是 env vars 到底有什么问题?
    【解决方案2】:

    您还可以(至少现在)将代理设置与克隆命令一起传递:

    git clone https://github.com/user/repository.git --config "http.proxy=host:port"
    

    【讨论】:

      猜你喜欢
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 2013-12-19
      • 2020-10-28
      • 1970-01-01
      相关资源
      最近更新 更多