Click here to Skip to main content
13,507,984 members
Click here to Skip to main content
Add your own
alternative version

Tagged as


2 bookmarked
Posted 9 Jan 2013

How to Use Git and Github for Windows from Within a Windows auth Proxy Network

, 9 Jan 2013
Rate this:
Please Sign up or sign in to vote.
If you work at a company where you need to type in your user id to access sites on the internet and when you want to use git to push to a repository on the internet and it just hangs, here is a solution. 

If you work at a company where you need to type in your user id to access sites on the internet and when you want to use git to push to a repository on the internet and it just hangs. This post may help you out.

While git is a nice distributed version control system (dvcs), it was not written for Windows. A side effect of this fact is that it does support using proxy servers. But it really only supports using the kinds of proxy servers one would find in environments with non Windows machines. So, this is a case where a little ingenuity goes a long way. I credit Matt Hinze for figuring all of this out. Now it is standard practice when we need to connect to remote git repositories.

In order to make git access repositories on the internet through a Windows auth proxy server, we need to add a local proxy and configure git to use the local proxy. This local proxy takes care of all the authentication so that git just works with the proxy and the proxy relays the data through the tightly controlled corporate proxy server. Let's look at a diagram of how this works.


The light blue box represents your machine/workstation; the red box is the corporate network; the green box represents the internet. Since git cannot send ntlm credentials to the proxy, the network traffic just dies at the proxy. With the local ntlmmapps proxy, git can communicate to it without having to send the username and password, and the ntlmmapps proxy adds that information so the corporate ntml proxy gets its credentials and passes the network traffic through to

To configure this, it's pretty simple.

  1. Download and unzip the ntmlmaps script & install python for windows (15 MB download).
  2. Open up the server.cfg in Notepad and enter the values for your proxy and network.
    3. NT_DOMAIN:
    4. USER:
    5. PASSWORD: (leave this blank, you can enter it when the proxy starts up)
    6. LISTEN_PORT:5865 ( remember this number you need it to configure git)
  3. Open the runserver.bat file in Notepad and change the following line from:
    before:c:\program files\python\python.exe”
    after: C:\Python27python.exe
  4. Run the runserver.bat (probably need to run it as administrator)
  5. Type in your password
  6. Configure git in a command line
    1. git config –global http.proxy http://localhost:58665

You're done, this should now push all the git commands through your local proxy which will authenticate the network calls and pass through the git commands.


This article, along with any associated source code and files, is licensed under The Apache License, Version 2.0


About the Author

eric hexter
Chief Technology Officer
United States United States
I am an Architect for on the Engineering Excellence team. I (co)Founded MvcContrib, Should, Solution Factory, and Pstrami open source projects. I have co-authored MVC 2 in Action, MVC3 in Action, and MVC 4 in Action. I am a Microsoft MVP.

I have founded some online conferences like aspConf, mvcConf, Community For MVC

You may also be interested in...


Comments and Discussions

-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.180417.1 | Last Updated 9 Jan 2013
Article Copyright 2013 by eric hexter
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid