If you’re a developer – or a team of developers – working on any major project should be subject to source control. Version control systems provide a variety of
In the last article, we took a look at some
How They Work
For the most part, the big picture of version control looks the same:
- Code is held in a central repository
- When developers are ready to begin work, they pull down the code, make their changes, and check the code back in
- Deployment occurs from the central repository whenever the project is a release-ready state
There are a number of different version control systems that are available and although each system allows for source code management, implementation of each varies (though that’s outside the scope of this document).
Three Version Control Systems
There are many version control systems available. Three of the most current, most common systems that are available today are:
- Subversion is a free, open source version control system. To use it, each developer pulls down the entire repository, makes local changes, and checks in all files related to their most recent work. There are a number of options available for Subversion hosting, though 8BIT uses Beanstalk.
- Git is a distributed revision control system. Rather than checking in individual files, changesets – or groups of related changes – are checked into the repository. The most popular website for Git-based project management is GitHub.
- Mercurial is another distributed version control system that primarily targets command-line based management.
Each has their own set of advantages and disadvantages, but if you’re not using source code control, I highly recommend simply picking one and trying it out. You’ll be better for it and every good software development organization uses version control.
But I’m curious – what’s your preferred version control system? And if you’re new to this kind of stuff, do articles like this help?
David Alan Hjelle says
I’ve been using Bazaar from Canonical. It’s a DCVS, like Git or Mecurial, but it’s learning curve is a bit lower than Git. It offers the same basic feature set, plus a few bonuses. (I’ve not used Git or Mercurial enough to offer a good comparison.) Anyone have compelling reasons to switch?
And, yes, Github is probably the most compelling reason I’ve seen.
Tom says
I’m careful not to be legalistic about my choice in not only version control software but software in general. I’m a huge proponent of using what works best for you and for your work flow.
If Bazaar is working fine and you dig it, then stick with it. Don’t switch “just because” unless you simply wanna learn, you know?
The 8BIT Team uses SVN and I use GitHub for one of my projects because I wanted to get it out into the open source web development world.
At the 9-to-5, we use BitKeeper. I like it fine thought he UI leaves something to be desired.
Ben Miller says
I’ve been using Subversion, hosted on my Dreamhost account, with TortoiseSVN and WinMerge, for a few years, and it’s been working well for me.
Tom says
Yeah, totally.
I know there’s a lot of people that dislike Subversion but I personally don’t have a problem with it.
It’s all about whatever works best given an environment.
Eric J says
I’ve never worked with a team on a project but i’m enjoying this series, and i have dreamhost so i’m enjoying this.
Tom says
Totally. Source code control – once you get comfortable with it – is one of those things that you don’t wanna go without. Especially on big projects.