Our organisation has an internal git server, while I need to fetch third-party modules hosted elsewhere on the Internet. To access any external sites, I need to pass through the proxy server. If I enter our proxy settings into SourceTree in Tools -> Options -> Network -> 'Use custom proxy settings' and tick 'Add proxy server configuration to Git / Mercurial' checkbox in the same page, I am able to connect to external git repositories.
However, at this point, I am unable to fetch from our internal git server. I can only fetch from there if I untick the checkbox mentioned above.
So, to be able to use both external and internal repositories at the same time, I need to tell git to ignore the proxy for our internal git server and use the proxy for everything else. Could anyone please tell me how to accomplish this?
Basically, set some environment variables:
export http_proxy=http://proxy.example.com:8080
export no_proxy=".example.com localhost"
And make sure git uses the variables:
git config --global --unset http.proxy
(You may need to also set the corresponding https variable+config).
For an existing repo, you can also set http.proxy on a per-remote basis
git config --local remote.upstream.proxy proxy.example.com:8080
git config --local remote.internal.proxy ""
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Ashley,
Thank you for your question.
git config –global http.proxy http://user:password@domain/reposiroty.git
After setting the proxy, please check the configuration by typing in the command:
git config –get –global http.proxy
Please, try (as it shouldn't work)
git pull origin master
Please, try:
git pull http://domain/repository.git master
If you find this answer useful, I would kindly ask you to accept it so the same will be visible to others who might be facing the same issue you have inquired.
Thank you for your understanding.
—
Kind regards,
Rafael P. Sperafico
Atlassian Support
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the response Rafael, but it doesn't solve my problem.. git config --global http.proxy proxy.company.com The code above would set the global proxy to be used, wouldn't it? That would be the same as using the GUI (Tools -> Options -> Network -> 'Use custom proxy settings'), but that doesn't stop it from being used for my internal git server. You also seem to be pointing to the repo in that command, how does that work? I want to use the GUI to fetch from all remotes, both external and internal, at the same time. This won't work if I can't exclude my internal git server from using the proxy settings...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.