Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I have done some basic web programming in the past and wish to develop my skills further and begin doing large scale projects as a contractor. I have no experience with version control to this point but know enough about it to know I want to use it. What version control systems are available for a web platform and which are the most popular (I'm assuming they'd be most popular for ease of use and functionality...)? Thanks!

share|improve this question
add comment

4 Answers

up vote 6 down vote accepted

Really any VCS will do. Your major options (sorted by what I would prefer)

  1. Mercurial - I actually use this to keep my entire website in version control on the host. Its quite easy to setup on any webserver that has python. You can also copy and paste your own build.
  2. Git - I tried and failed to get this working on Godaddy. However if your just going to be doing it locally its still a respectable option. In the Mercurial VS Git debate, it just depends on what you prefer
  3. Subversion - Completely different from the above. I've never tried to keep a website in svn, but it is an option. Really though I would recommend this.
share|improve this answer
add comment

Consider what your are trying to do. Nearly all VCS systems will

  1. Keep your code base in a remote place.
  2. Split off code to work on.
  3. Track changes as you make them.
  4. Commit changes as you work.
  5. Merge your modified code back into the base in an orderly manner.

It also matters whether you are working alone or with a team. If you are part of a team, the system has to work for them as well as for you.

Personally, I'm using subversion, but would like to move to Git. Git seems to offer finer grained control of forking code, making commits as you work, and merging it all back together.

I'm not an expert by any means, so it seems to me that the most important thing you could do is to try out a few: Git, SVN, Mercurial, maybe others. See how well they fit with your work pattern. If they don't make it easy to fork, modify, and commit, then you won't use the tool, regardless of what others say of it. You can try these things out for free on a local basis. Only you can tell if you like it enough to actually use the system.

share|improve this answer
add comment

Since you are new to version control, I recommend that you take a look at some of the web-based systems that facilitate this for you. I have had good experiences with both Assembla and Beanstalk, and I'm sure there are other good options you can find with some googling as well.

share|improve this answer
add comment

I would second Beanstalk which provides both Subversion and Git services.

If you choose Subversion, you might find the Pragmatic programmers guide very helpful before moving onto the more exhaustive (& free) online Version control with Subversion. This was how I learned.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.