Skip to content

Smart HTTP Support

Git's HTTP protocol just upped it a few notches on the ol' IQ test. As discussed in detail on the Pro Git blog, Git supports a new, much more efficient…

Author

Git’s HTTP protocol just upped it a few notches on the ol’ IQ test. As discussed in detail on the Pro Git blog, Git supports a new, much more efficient HTTP based transport as of version 1.6.6. Well, now GitHub supports that new protocol as well.

From now on, if you clone a repository over the http:// url and you are using a Git client version 1.6.6 or greater, Git will automatically use the newer, better transport mechanism. Even more amazing, however, is that you can now push over that protocol and clone private repositories as well. If you access a private repository, or you are a collaborator and want push access, you can put your username in the URL and Git will prompt you for the password when you try to access it.

Try it out on a public repository:

$ git clone http://github.com/schacon/grack.git

For private repos, or to have push access on your repository, you can clone this way:

$ git clone https://username@github.com/username/project.git

Don’t forget the https part – Git will send your password hashed but unencrypted over the wire, so be sure to use SSL. In future versions of Git (assuming our patch gets integrated), Git will prompt you for your username if it’s not provided and the client gets a 401, so you won’t actually have to put your username in the URL – it will just ask you when Git needs it.

Older clients will also fall back to the older, less efficient way, so nothing should break – just newer clients should work better.

Let us know if you have any problems with it, and enjoy!

Explore more from GitHub

Product

Product

Updates on GitHub products and features, hot off the press.
GitHub Universe 2024

GitHub Universe 2024

Get tickets to the 10th anniversary of our global developer event on AI, DevEx, and security.
GitHub Copilot

GitHub Copilot

Don't fly solo. Try 30 days for free.
Work at GitHub!

Work at GitHub!

Check out our current job openings.