June 22, 2012

Giddyup with Github: Hypenotic’s Development Process

2 minute read, in Culture

June has been an amazing month for change within the creative walls of Hypenotic. A new baby was born, meditation has created an almost zen like focus in the office and Hypenotic has set off on some new sustainable directions.

Well, we’ve got one more. We’ve completely revamped our online development process. We’re now (finally) using Git to properly version and deploy web projects.

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

This means that for our developers, we can now offer peace of mind. We can have multiple developers working simultaneously on the same project without fear that someone will override or even delete someone else’s code.

For our clients, we can now offer a full development history, a proper staging site where new functionality or enhancements can be tested before deploying to the live site and an easy rollback process if something doesn’t work.

For Hypenotic, it means sanity and a clear, consistent process regardless of how small or large the project. It’s a process that allows any developer (freelance, intern or new hire) to come in and know exactly what was done,  the current status of the project and the ability to get up and running quickly.

Hypenotic’s development process

The development process goes like this. We have a Github repository that has 3 branches: master, staging and production. The master branch is the centre piece. From it, we can create other temporary branches for specific new features or bug fixes. We then merge those branches back into the master. When we feel we’re ready, we merge the master branch into the staging branch which gets deployed to our Linode server for testing. Once we have the thumbs up, we can then merge the staging into to the production branch which then can be deployed to wherever it needs to be.  Nice and easy.

That’s it. If you have any questions about the process just contact us.

I’d like to thank Jorge for the awesome insight, Collin for digging in and getting this working and Chris for the snazzy illustration of the process.

comments powered by Disqus