Git代理旁路
Git通过设置http.proxyconfiguration参数在代理环境中工作。
对于某些地址我需要绕过代理。 有没有代理/旁路代理configuration参数?
代理可以在每个远程的基础上被覆盖 – 参见http://git-scm.com/docs/git-config (查找“http.proxy”和“remote。<name> .proxy”设置)。 假设你有远程的“起源”,那么你可以使用绕过这个远程代理的命令是:
git config --add remote.origin.proxy ""
为了绕过某些特定的代理,通常是一个本地地址,你所要做的就是:
export no_proxy=URLToIgnore
URLToIgnore
是你希望Git
忽略的URL。 您也可以忽略以某个词结尾的url。
export no_proxy=.mylocal
以.mylocal
结尾的所有url.mylocal
将被忽略。 要忽略多个url:
export no_proxy=.mylocal URLToIgnore
要使其成为永久的,请将其添加到~/username/.bash_profile
文件中。 如果在用户根目录中找不到.bash_profile
文件,则手动创build它。
更多细节: 如何暂时禁用git http代理
确保你有一个Git 2.1.2+,如果你想设置一个空值的configuration,比如
git config --add remote.origin.proxy ""
因为如果你决定恢复这个远程代理(这里是' origin
')… 它将使用比2.1.2更早的Git(2014年9月30日)
见提交c846664 ( tanayabh
)
make config --add
行为正确的空值和NULL
值
目前如果我们有一个configuration文件,
[foo] baz bar =
我们尝试类似“
git config --add foo.baz roll
”,Git将会segfault。 而且,对于“git config --add foo.bar roll
”,它会覆盖原来的值而不是追加现有的空值。问题出在用于模拟
git_config_set_multivar_in_file()
,“^$
”中的git_config_set_multivar_in_file()
情况,在理想的情况下,它不应该与任何string匹配,但是对于空string是正确的。
而是使用像“a^
”这样的正则expression式,对于任何string都不能为空,否则为空。要删除segfault,请在
config.c
中的matches()
中添加一个NULL
值检查。
在命令提示符下执行下面的命令
git config --global http.proxy [Proxy IP]:[Proxy port]
export http_proxy=http://username:password@ip:port export no_proxy=myhost, myhost:port