When should you start version control?

2013 is hopefully going to be a year in which I manage to push at least one of the side-projects I have had rolling around inside my brain for the last forever. I guess that could be considered a New Years resolution, but let’s not jinx it, eh?

I woke early this morning and was playing around with a few ideas for a simple data visualisation but with potential to have a more rich feature set. I got to thinking that the best thing to do would to hammer out the simple version quickly, call it version one and release it before I lose the momentum and the creative spark. So that led me to open up my code editor - and whilst staring at the blank screen, thought:

When is the best time to git init?

Is it now, looking at a blank screen with an empty folder on the desktop? Is it once I’ve thrown together a basic page skeleton? Is it once I’ve grabbed the latest copy of my boilerplate? Is it after initialising Compass? Is it after several failed attempts at working out the app’s data structure? Or is it at the first stable point at which I’d be happy to put my name to the work so to avoid commit logs full of early embarrassment?

I definitely used to be of the thinking that I wanted to hide all the initial fiddlings and git init once a reasonably stable direction was established but I’m now thinking that kind of goes against the idea of versioning something - plus, who cares it the first few commits are full of trial and error; it could be a good way of seeing thought process and learning for next time round.

I’d been interested to hear some thoughts on this one, so if you have an opinion, let me know.

If you hate email but still want to keep in touch, follow me on Twitter.

Guy Routledge avatar
Currently available hire me