Today we will be looking at what a version control system is, why it is important for you as a DevOps engineer to understand it and its benefits, and the different types of version control systems we have.

I use to work in the construction industry as an electrical engineer and most of the time my work is at the mercy of the civil engineers, I have to wait for their work to get to a certain level before we collaborate to achieve the end goal, now just imagine if I don’t have to wait on/for them, I just do my work and they do theirs and then when we are done we just join it together and voila we have a house (wishful thinking) or when there’s a plumbing issue we don’t have to break a lot of walls to find out where the linkage is. Now with software development problems like this are solved with version control systems.

so what’s a version control system?

A version control system records all the changes made to a file or set of files, so a specific version may be called later if needed. The system makes sure that all team members are working on the latest version of the file (everybody is on the same page) and is working simultaneously on the same project.

Benefits Of Version Control System

  • It helps with working simultaneously on the same source code
  • It helps with collaboration between employees storing different version
  • It helps with the modification of codes
  • It helps with having backups
  • It helps with rolling back the previous version (it archives all previous versions)
  • It helps in comparing previous and current versions to solves problems (eg. bugs)

Type Of Version Control System

  1. Local version control system
  2. Centralized version control system
  3. Distributed version control system

Local Version Control system

Local version control system stores files on your local machine and every change made to that file are saved and only that version will be available, to be able to have the previous version of your file every change is stored as a patch (different versions showing the change made on it).

Centralized version control system

Centralized version control system stores the file in a centralized location (server) where multiple people can have access to it, make the changes they want, and commit to the centralized copy.

Distributed Version Control System

Distributed version control system when cloning from the repository, the whole history of the file is copied to your local server, that is any changes made will be saved on your local server until they are explicitly shared, this was created just in case the centralized repository goes down, co-workers can still work together without the need of the centralized repository

There are a lot of very good version control systems like Github,GitLab, beanstalk perforce, apache subversion, aws code commit, etc



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tobi Aina

Tobi Aina

i love to make things sound nice and help in building product.