Configuration Management through tools such as git are a vital tool at all levels of software development. Whether you are working in a large team developing your company’s latest and greatest software, or you’re a student working on a small personal project, you have a lot to gain from using a resource like git.
When you aren’t using some form of configuration management there are some risks you impose on your development. In my experience there are mainly two risks that I’ve found. The first of which is in regards to collaboration. Without some type of system in place, such as git, it is very difficult for a team to work on a project simultaneously. Often times you will find you and your teammates stepping on each other’s toes, or finding that the code you both have written isn’t as compatible as you may have thought. Git makes life easier by handling merge conflicts and by allowing you to push and pull changes as you please. You also have the ability to see the changes made before adding it to the main build of your code. These abilities make for an easier environment to collaborate in. The second risk is with regard to version control. In the past I’ve worked on a project where git has saved my life, since I was able to revert back to a previous state of my repository. It provides an easy way to manage the changes that you’ve made, and if you decide you want to go back to a previous version you can do that. You even have the ability to simply look at the previous versions of your code. By using git you are definitely making your life easier and saving yourself from future headaches and heartaches.
With git and GitHub being so popular in the software development world, it makes you wonder if git makes GitHub popular or if GitHub makes git popular. I personally think GitHub owes its success to git, solely because GitHub is nothing without git. Git is the real meat and potatoes of what allows people to have this version control system in place, and GitHub is just a place to host repositories. I think that if GitHub were to suddenly disappear, everyone would still be using git and another vendor like Bitbucket would take GitHub’s place.
Regardless of which is the driver in the configuration management space, I think we can all agree that what git and GitHub together provide for developers is an amazing resource.