命令行中进行配置
http://stackoverflow.com/questions/783811/getting-git-to-work-with-a-proxy-server
Command to use :
git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
- change
proxyuser
to your proxy user - change
proxypwd
to your proxy password - change
proxy.server.com
to the URL of your proxy server - change
8080
to the proxy port configured on your proxy server
If you decide at any time to reset this proxy and work without (no proxy):
Commands to use:
git config --global --unset http.proxy
Finally, to check the currently set proxy;
git config --global --get http.proxy
配置好之后,就可以正常进行fetch了,配置的时候,最好加上http:// 。 目前gcm还不支持不带http的,
https://gist.github.com/evantoli/f8c23a37eb3558ab8765
git config --global http.proxy sasygsha01prx11_p.asnet.accorservices.net:8080
http.proxy后面的url,最好加上http://,否则在credential manager中会报错。参考这个issue
TortoiseGit中进行配置
Bypass的使用
场景:需要使用proxy访问github,但同时又需要访问内网部署的git server。但是proxy是无法访问内网的
https://stackoverflow.com/questions/19523903/how-to-temporarily-disable-git-http-proxy
I always set:
no_proxy=.mycompany
(export
if I am on Unix, or a simple set
on Windows)
It is enough to bypass the proxy for all intranet url ending with ".mycompany
".
在环境变量中配置no_proxy,用英文的逗号分隔开
需要注意的是,no_proxy暂时不支持通配符,比如172.31.*
有人提示可以使用这种方式来bypass一组ip,
1) Add each IP in full:
printf -v no_proxy '%s,' 10.1.{1..255}.{1..255};
export no_proxy="${no_proxy%,}";
结论
https://github.com/git-for-windows/git/issues/2074
https://curl.haxx.se/libcurl/c/CURLOPT_NOPROXY.html
1.The only wildcard available is a single * character, which matches all hosts, and effectively disables the proxy.
2.You could list them individually:
The string consists of a comma separated list of host names that do not require a proxy to get reached, even if one is specified.
3.if you can use a domain name:
If the name in the noproxy list has a leading period, it is a domain match against the provided host name. This way ".example.com" will switch off proxy use for both "www.example.com" as well as for "foo.example.com".
多个ip的话,每个ip对应一个不同的domain,但是这些domain都是以.example.com结尾的。
4.Alternatively, you can configure `git config http.proxy ""` for all remotes in a repository, or finer-grained `git config http.<url>.proxy ""` for individual remotes (identified by their ). 这个感觉不太实用。