HTTP Git now Generally Available

Today we’re happy to announce that the HTTP Git beta is over and that HTTP Git is fully ready for production.

The beta was launched less than a month ago and we are already handling thousands of HTTP Git builds per day. In addition, HTTP Git powers the Dropbox Sync beta, making sure that Dropbox folders and Heroku repos are up-to-date.

Over the past month, we have seen great adoption from partners, and Travis CI is using HTTP Git as the default git strategy for Heroku deployments.

We encountered few issues during the beta, and we’re confident that HTTP Git is the best Git implementation for most Heroku users. For that reason, we’re making HTTP Git the default setup when repos are configured by Heroku tooling. We will keep SSH Git as an option and SSH Git still works for all repos on Heroku. You can use SSH Git and HTTP Git (and Dropbox Sync) interchangeably as needed by you and your collaborators. Read on for details.

With HTTP Git now the default, heroku create, heroku git:remote and heroku git:clone commands all configure your local environment to use HTTP Git. If, for any reason, you want to use SSH Git with a particular app, simply pass a --ssh-git flag to these commands, e.g.:

$ heroku create --ssh-git

If you want to always use SSH Git with Heroku on a particular machine, you can add the following global config:

git config --global url.ssh://

HTTP URLs will still be written to .git folders but Git will rewrite, on the fly, all Heroku HTTP Git URLs to use SSH. See the Git documentation for details for details, including instructions on how to remove this setting.

If you have any feedback on HTTP Git on Heroku, don’t hesitate to send us an email at

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.