Git 自动检测系统代理设置

fff*_*red 5 git proxy

我经常更改具有不同代理设置的位置,或者只是从 WiFi 更改为使用不同代理的电缆连接。

由于我使用的是 OsX,因此很容易从一种网络配置切换到另一种网络配置。但是 git 在.gitconfig文件中有自己的设置,我每次都修改那个文件很累。

有没有办法将代理(可能来自系统变量?)传递给.gitconfig文件,或者有诸如auto-detectsystem-proxy 之类的设置?

nwi*_*ler -1

我也处于同样的情况,遗憾的是 Git 不使用 OS X 上的系统代理设置。为了让这更容易,我创建了几个 Bash 函数,允许我启用/禁用工具的代理配置例如 ssh、npm 和代理环境变量。

您可以在此处查看代码(作为我的Bash-it分支的一部分): https: //github.com/nwinkler/bash-it/blob/master/plugins/available/proxy.plugin.bash

它的工作原理如下:

  • 我的 bash 配置文件包含诸如BASH_IT_HTTP_PROXY.
  • 我定义了一些函数,包括enable_proxydisable_proxy在调用时设置或取消设置环境变量。除此之外,他们还更新我的~/.npmrc文件和其他一些位置。

在办公室工作时(我必须使用代理),我只需拨打enable_proxy,在家工作时,我拨打disable_proxy

一组类似的功能可以作为单个脚本而不是函数来实现,但是Bash-it框架有一种非常好的方法来定义此类内容。它工作得非常好,我从来不需要手动修改环境变量。