It was a few years ago now that I started to see & hear people talking version control. I’m sure it’s been around a lot longer than a few years, but it’s only become obvious to me in the last 3 or 4 years. I kept hearing about SCM apps like Versions for OSX and TortoiseSVN for Windows.
It sounded like a good idea – keep control of the changes you make to the code you produce. Create a branch to test new features before merging it all back into the Master so you never really screw up your work.
But I am just a single front-end designer
I used to tell myself that all the time. It’s just me & my laptop. I don’t need version control as I’m always using the latest version to edit etc. etc.
I then started to notice the odd project_v2 and index_v7.html files pop up on my hard disk. Hmmm, but I’m just a single front-end desinger. It’s good to look back and visually see what files I have.
But all the cool kids where using SVN and then GIT as that became more widespread.
So I had intended on learning it. I may not use it but it’s another skill under the belt.
Fast forward to January 2011. I’m working hard on my re-design to get it live before New Adventures Conf even though it was essentially done, I wanted to make sure it was perfect so I didn’t launch before the conference but shortly after.
I continued to tweak the CSS from time to time after launch by logging into my FTP and doing it direct on the server. Making the odd change here, adding a transition there and tweaking the colour on that page. That sort of thing.
And then 2 weeks ago, I decided to re-do my portfolio. I opened Coda, made some changes to the CSS file on my HD and uploaded it to my server (overwriting the one already there).
Can you see what I did? The weeks of tweaks I had done previously where all live on the server copy of the style sheet, not on my machine.
So yes, several weeks work of fine tuning lost.
And that folks, is why I’m learning GIT. I’ve armed myself with several links from around the internet to help me get up to speed. I’ve installed GIT on my machine at home. I’ve started
$ git commit’ing everything I do and
$ git add .’ing everything I create.
I’m not wasting time like that again.
I’ve added some links to the References on the left and I’ll continue to add some more resources as I continue learning this master art. I may even write my own introduction in a couple of weeks.