Source control is essential for any team project but is often neglected by individual programmers, instead opting for cryptic folder names that only they know. How often do you come back to some work and forget where you were? If you are like me then quite often!
The benefits of a source control solution are typically:
- Centralised location of source code
- Allow multiple people to work on a project at the same time while avoiding deadlocks
- Easily navigate current and previous versions of a project
- Branch from a project to start a different version (eg. nightly build)
- Revert back to previous versions
- Commit changes from a version
- Share source code with vast amount of users
Source control is all about the software. Below are a couple of usage scenarios but the options are limitless.
Option 1 (Windows only)
Server side: VisualSVN Server (http://www.visualsvn.com/server/)
Server side: Apache Subversion http://subversion.apache.org/
Client: Visual studio (SVN option) (http://www.microsoft.com/visualstudio/eng)
Sever side: git-core (http://git-scm.com/downloads)
Client: git client for Windows/Linux/Mac (http://git-scm.com/downloads)
Sever side: GitHub (https://github.com/)
Client: SourceTree (http://www.sourcetreeapp.com/)
Hopefully this basic intro will give you enough information to delve into source control management. Remember you can use it for more than programming. This technology is designed to manage any computer files on a system!