remove - git ssh proxy
Getting git to work with a proxy server (12)
I work on Windows XP at work(state/gov), so I did my research and found this here and it worked for me. Hope this helps :)
The http_proxy Environment Variable
If you use a proxy server or firewall, you may need to set the http_proxy environment variable in order to access some url from commandline. Example : Installing ppm for perl or applying rpm in linux ,updating ubuntu
Set the http_proxy variable with the hostname or IP address of the proxy server: http_proxy=http:// [proxy.example.org]
If the proxy server requires a user name and password, include them in the following form: http_proxy=http:// [username:[email protected]]
If the proxy server uses a port other than 80, include the port number: http_proxy=http:// [username:[email protected]:8080]
- Open the Control Panel and click the System icon.
- On the Advanced tab, click on Environment Variables.
- Click New in the System variables panel.
- Add http_proxy with the appropriate proxy information (see examples above).
Linux, Solaris or HP-UX
Set the http_proxy environment variable using the command specific to your shell (e.g. set or export). To make this change persistent, add the command to the appropriate profile file for the shell. For example, in bash, add a line like the following to your .bash_profile or .bashrc file:
- http_proxy=http:// [username:[email protected]:port];
- export $http_proxy
How do I get git to use a proxy server?
I need to check out code from a git server, it shows "Request timed out" every time. How do I get around this?
Alternatively, how can I set a proxy server?
Setting git proxy on terminal
- you do not want set proxy for each of your git projects manually, one by one
- always want to use same proxy for all your projects
Set it globally once
git config --global http.proxy username:[email protected]_url:proxy_port git config --global https.proxy username:[email protected]_url:proxy_port
if you want to set proxy for only one git project (there may be some situations where you may not want to use same proxy or any proxy at all for some git connections)
//go to project root cd /bla_bla/project_root //set proxy for both http and https git config http.proxy username:[email protected]_url:proxy_port git config https.proxy username:[email protected]_url:proxy_port
if you want to display current proxy settings
git config --list
if you want to remove proxy globally
git config --global --unset http.proxy git config --global --unset https.proxy
if you want to remove proxy for only one git root
//go to project root cd /bla-bla/project_root git config --unset http.proxy git config --unset https.proxy
As an alternative to using
git config --global http.proxy address:port, you can set the proxy on the command line:
git -c "http.proxy=address:port" clone https://...
The advantage is the proxy is not persistently set. Under Bash you might set an alias:
alias git-proxy='git -c "http.proxy=address:port"'
Command to use:
git config --global http.proxy http://proxyuser:[email protected]:8080
proxyuserto your proxy user
proxypwdto your proxy password
proxy.server.comto the URL of your proxy server
8080to the proxy port configured on your proxy server
If you decide at any time to reset this proxy and work without proxy:
Command to use:
git config --global --unset http.proxy
Finally, to check the currently set proxy:
git config --global --get http.proxy
For the git protocol (git://...), install socat and write a script such as:
#!/bin/sh exec socat - socks4:your.company.com:$1:$2
make it executable, put it in your path, and in your
core.gitproxy to the name of that script.
For windows users: if
git config or
set http_proxy= doesn't work, this answer may help:
git:// protocol of the git repository with
http://. Note, you'll have to set the
http_proxy first, anyways.
If the command line way of configuring your proxy server doesn't work, you can probably just edit .gitconfig (in the root of your profile, which may hide both in C:\Documents and Settings and on some network drive) and add this:
[http] proxy = http://username:[email protected]:8080
YMMV though, this only covers the first step of the command line configuration. You may have to edit the system git configuration too and I have no idea where they hid that.
If you are using ubuntu, then do the following ...
Step 1 : Install corkscrew
$ sudo apt-get install corkscrew
Step 2 : Write a script named git-proxy.sh and add the following
#!/bin/sh exec corkscrew <name of proxy server> <port> $* # <name_of_proxy_server> and <port> are the ip address and port of the server # e.g. exec corkscrew 192.168.0.1 808 $*
Step 3 : Make the script executable
$ chmod +x git-proxy.sh
Step 4 : Set up the proxy command for GIT by setting the environment variable
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
Now use the git commands,such as
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
In addition of thse answers, I found helpful to consider these 2 points:
One may need to enforce an authentication scheme:
[http] # https://github.com/git/git/blob/master/Documentation/config.txt proxyAuthMethod = anyauth|basic|digest|negotiate|ntlm
Also, typically with NTLM authentication schema, one may need to provide explicitely the AD domain.
In git bash:
And update the http.proxy accordingly:
git config --global http.proxy http://DOMAIN\\proxyuser:[email protected]:8080
Anyway, investigation may be helped by adding CURL logs:
Set a system variable named
http_proxy with the value of
That is the simplest solution. Respectively, use
https_proxy as daefu pointed out in the comments.
Setting gitproxy (as sleske mentions) is another option, but that requires a "command", which is not as straightforward as the above solution.
Try to put the following to the ~/.gitconfig file:
[http] proxy = http://proxy:8080 [https] proxy = http://proxy:8080 [url "https://"] insteadOf = git://
here is the proxy setting
git config --global http.proxy http://<username>:<pass>@<ip>:<port> git config --global https.proxy http://<username>:<pass>@<ip>:<port>