Ignoring proxy settings for internal git server

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?

 

2 answers

1 accepted

This widget could not be displayed.

Stackoverflow answer.

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 ""

 

Perfect. Thank you, Jonathan!

This widget could not be displayed.

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

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...

Suggest an answer

Log in or Sign up to answer
Community showcase
Published May 30, 2018 in Sourcetree

Tip from the team: configuring Git or Mercurial in Sourcetree

Supported Platforms macOS Windows To make using Sourcetree as simple yet powerful as possible we embed (bundle) dependencies such as Git, Git LFS, and Mercurial. We strive to keep these...

879 views 2 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you