• Version control does more than just tracking changes to your code over time. It also does the following:

    * Record the user who made the change (great for multiple developers)

    * Allow you to branch the code (to try an idea, or develop a feature independently)

    * Easily compare (via a Diff utility) two versions of a particular piece of code

    * Selectively revert code changes at any point in time

    * Keep a history of developer comments (for what changes were made to the code)

    * Promotes code sharing by multiple people / computers

    * Last point is important for automated builds (running unit tests like spUnit to verify code changes)

    The Tortoise tools are excellent free UI tools for managing SVN, Git, CVS and Mercurial repositories and they include a good Diff tool (though BeyondCompare is the best I've used - and you can easily swap out the Diff utility with the Tortoise tools)