Vincent Driessen has written an amazing post on managing branches in Git, and how to effectively avoid the fire drill that we’ve been through when we have to push a hot-fix into production while preserving new development. It is titled A Successful Git Branching Model.

This can be very critical if you are using AppHarbor, a .Net cloud platform where you push your source code from Github to AppHarbor and the AppHarbor elves build it and push to a production server if the app passes its unit tests. AppHarbor maintains a history of builds so that you can -ahem – roll back on the very occasion that you have made a mistake. But this only speaks to Vincent’s point that if you configure Git with the appropriate branches to handle development, production and hot-fixes you should use the rollback feature less.

Sensei has been spending a lot time working with Git and AppHarbor and one of the next milestone on his journey will be to learn how to disable auto push for the development branch of his project while maintaining the synchronization with the master branch. This should be the subject of up-coming, shouldn’t it? Or maybe one of you, the dear readers of this blog has answer they’d like to share?