There are three types of source/version control system
- Local Version Control – Keeps all the code and versions in the local system
- Central Version Control – Keeps all the code and versions in a central system. Developers pull the files that they need but don’t keep the full copy of the project locally. Some of the most common version control systems are centralized, including Subversion (SVN) and Perforce. The biggest drawback of this approach is a single point of failure because of the dependency on a central server
- Distributed Version Control – Distributed version control system was introduced to address the drawbacks of a centralized version control system. In this, the clients completely clone the repository including its full history so that they are not dependent on a central server to store all the versions of a project’s files. If the server dies, any of the client repositories can be copied on to the server to help restore the server. Two common distributed version control systems are Git and Mercurial.
(Tools, that I personally use/have used and recommend are marked with a heart)
1. Git (♥)
-
- The Open-source distributed version control system
- Designed to handle everything from small to very large projects with speed and efficiency.
- Free
2. GitHub (♥)
- Cloud-based
- Has a free plan with limited features
- Paid plan starts from US$ 4/user/month
3. BitBucket (♥)
-
- Cloud-based version control repository hosting service owned by Atlassian
- Build, test, and deploy with unlimited private or public space
- Has a free plan with limited features
- Paid plan starts from US$ 3/user/month (Free 7 days trial)
4. Mercurial
-
- Distributed revision-control tool
- Efficiently handles projects of any size
- Offers an easy and intuitive interface
- Free
-
- Enterprise-grade configuration management system
- Provides controlled access to software assets including code, requirements, design documents, models, test plans and test results
- Features parallel development support, automated workspace management, baseline management, secure version management, reliable build auditing
- Paid – Contact vendor for pricing
-
- Tracks and manages changes to your source code, digital assets, and large binary files
- Store files (including media) in one central repository
- Free for up to 5 users and 20 workspaces.
-
- Software versioning and revision control system
- Distributed as open-source under the Apache License.
- Free
Don’t see the tool of your choice listed here? Please feel free to mention it in the comments below for other readers’ benefit.
Want to see a list of more of such useful resources & tools under different categories? Please do take a look at the resources page.
Thanks wasn’t aware about IBM Rational ClearCase