Why Choose Git Over Other Version Control Software’s?

Scott Bolstad
4 min readFeb 26, 2017

--

With so many different version control software’s available it is hard to choose one. However there is a reason that Git is gaining popularity at such a rapid pace. In this post I will be covering why I think you should choose Git over other version control software's.

via GIPHY

So why use version control at all?

Working in teams can be hard and it only gets harder when you are constantly being asked to change tasks, something that will happen a lot. There are going to be many times that you will be in the middle of working on a new task when you will be asked to fix a bug or something similar to that. Because of this it can start to become hard to remember other things that you have worked on. Using Git makes this an easy fix. Using the command Git diff will tell you exactly what was changed from the last version of the project you had to the most recent. So there’s no need to worry about passing on exactly what you changed and why, as long as your commits are clear and concise.

One of the biggest issues with working in teams is how can you make all the most recent versions of a project available to everyone. This has been solved in the past with a centralized version control, which usually involves using a server that each team member has access to. The problem with this being that if the server goes down nobody has access to the project, which can mean long periods of time that nobody is able to work. By using Git, which has a distributed version control system, every user will have the most up to date version of the project. Not only does this mean that nobody has to worry about a server going down, they also don’t have to worry about connecting to a server to work. Work can be done offline, which in turn means it can be done anywhere.

via GIPHY

What are some options other than Git?

First off we have CVS, which stands for Concurrent Versions System. CVS has been around since the 80’s and has been quite popular since its release. CVS is referred to as the most mature version control this is because it has been around for so long that it is not often that it needs new features to be developed. This makes it an ideal software to use because it has all the features one would need. Unfortunately there are security issues associated with this software and branch operations are expensive, so long-term branching doesn’t exist in this system. One of the more important features of a version control is branching and because of this I wouldn’t recommend using it.

Next we have SVN, or Subversion, which was created to be an alternative to CVS. SVN was created with something called atomic operations, which handles changes made to the source. The idea with atomic operations is that all changes to the source are applied or none of the changes are. This means that there will be no partial changes made that break the source. SVN’s branch operations are a lot less costly than CVS. SVN was based on CVS so it has all the features that CVS had and improves on things that did not perform as well on the CVS system as well as implementing new features that were not offered. For this reason most people who used CVS moved on to SVN. However SVN still has its issues including bugs relating to renaming files and directories (this was an issue with CVS as well) and a slow speed.

Then there is Git. Git differs greatly from CVS and SVN. Git was primarily designed to be a faster version control system. Although it was originally built for linux it is available to other operating systems. Gits pros vastly outweigh its cons. Its increased speed makes it more user friendly, it has cheap branch operations, and it has the full tree history available offline. One of the biggest issues is there is a learning curve for those coming from CVS or SVN.

via GIPHY

Why choose Git over other version control software’s?

Git is already a popular tool for companies and it is getting more popular each day and there is a reason for that, Git has had the chance to learn from the mistakes of others. So while CVS has some security issues, and branching operations are expensive, and SVN is slow and has bugs related to renaming, Git has been able to deal with these issues and at the same time offer an increased speed.

There is a learning curve with users coming from SVN and CVS but I think that if you are looking to implement a new version control software Git is the best option because it has had time to learn from the others mistakes. And if you are someone who is currently looking for work in the software development industry I would recommend learning Git based off of the large amount of job postings requesting employees with a knowledge of Git.

via GIPHY

--

--