Although I’m primarily a back-end developer, I find my self increasingly doing front-end work and even design from time to time.
Version control systems have usually been the realm of back-end developers, but I’ve found that they are useful in all phases of website development.
Why use version control?
As a designer is it nice to be able to check in different phases of the design to be able to easily go back to specific milestones and rework parts of the interface.
As a front-end developer, the benefits match those of a back-end developer, allowing multiple people to work on the HTML & CSS, and being easily get to any point of the development cycle.
Even for solo developers there are a couple of great benefits to using version control of some kind: Host your repository offsite and they provide an simple and effective way to backup the code you are working on to an off-site location; If you work on multiple computers. They provide a great way to sync code between those computers, and if you’re like me, freeing you from the chains of your desktop.
Version Control Systems
There are a number of Version control systems available, some over 20 years old whilst, others are relatively new but packed to the brim with features.
Smashing Magazine published a great review of the popular systems available.
GitHub offers both commercial plans and free accounts for open source projects. The site also provides social networking features such as feeds, followers and the network graph to show just how developers work on their versions of a repository.
Gitorious provides open source infrastructure for hosting open source projects that use Git. The central entity in Gitorious is the project, which contains one or more top-level repositories and any repositories managed by the project’s contributors.
Unfuddle is a secure, hosted project management solution for software development teams.
With a limited free version (which is workable for solo developers), and many paid options, Unfuddle can host your Git or Subversion repository and provides a ticketing system and valuable project management tools.
ProjectLocker offers Subversion, Git, and Trac hosting, and tools that simplify team communications with Twitter, Basecamp, and Jabber integrations. A free package that is suitable for solo developers and small teams, as well as 4 generous hosting packages that are used by startups and Fortune 1000 companies alike.
Assembla offers a myriad of options, with repositories in Subversion, Git and Mercurial, collaboration, ticketing systems, and project management tools. Assembla has 5 different priced plans, each available with a free trial. You can also get free hosting for an open source or community project.
Codebase is a git repository hosting service with a complete, full featured web-interface to provide you with complete access to your repositories and projects. 5 different plan, each with a 30 day free trial will provide you a great way to organize your projects, with ticketing and integrated milestones.
Beanstalks subversion hosting service allows designers and developers to store source code, track changes, and collaborate with their team. Never worry about overwriting code or managing backups again. A free plan will allow you to see how the system works, and you can upgrade to one of the other 5 plans.
Despite the name, CVSdude also provide subversion hosting, in each of the 3 paid hosting options. Some of the plans also offer ticketing systems, and integration with project management tools.
Self hosting your repository is another option, many web hosting companies include the ability to host CVS, Subversion and increasingly Git repositories. They will often also have ticketing and project management software available via one click install. If you have a VPS or dedicated server you are off course free to install whatever software you wish.
Unfuddle and ProjectLocker have worked well for me, and I also have some open source code on Github. Whatever you use I’m sure you’ll be glad you’re using something.