First Thoughts on Version Control
Version control systems are a foreign concept to a lot of designers and front end developers. I've known about Git and Subversion (SVN) for quite a while, but as a one man shop, never really saw a need to use them.
That changed when I began to develop themes that would be used by more than one client. Knowing that my code would likely be installed dozens of times (or more) made me realize that I needed to get disciplined about tracking revisions. So I setup SVN.
I've been using it for a few weeks now. It was awkward at first, but I soon got into the habit of committing changes back to the repository. While it's nice to know that I have a copy of every revision, and it will probably save me time and frustration down the road, the biggest benefit so far has been the simple act of describing my work each time I commit a new revision.
That benefit is surprisingly huge. When I have to describe changes to my code, it's impossible to pretend I've done more than I actually have. In that way it acts as a reality check on my perceptions of productivity.
Describing each change has also led me to be more delibarate in my development process. Rather than switching to some other task halfway through an edit, I am more motivated to stick with one thing till it is worthy of a commit. That means fewer ADD related bugs.
"Well, that's great," you say, "but I don't know anything about SVN or Git."
Fortunately, it's easy to get started.
-
Go to Beanstalk and create a free account.
(There are other providers, but Beanstalk has a great web-based interface for beginners.) - Follow their guide to using TortoiseSVN for Windows or several options for Mac.
- Start tracking the changes in your code!
Do you use version control? If you're experienced in version control, do you have any tips for new users?
What our readers said
Great article! I have seen those products before, but never thought of trying it out. I feel a bit overwhelmed by it. But the free account with Beanstalk is tempting.
I don’t code at all but there are many projects that would benefit from close tracking of versions and final deliverables. On it!