What is Version Control:Centralized Vs Distributed

Version Control:

The name itself suggests what it is, Version control is a software or a tool that saves/records the changes of a file or a set of files over a period of time so that we can keep tracks of different versions of a project and we can recall specific versions later.Some of the most popular version control systems are Git,Subversion and Mercurial.

  1. Centralized
  2. Distributed


There is a single central copy of your project present somewhere(probably on a server) and every interaction must go through this server that means if anyone wanted to change something on this central copy they have to get the particular file from the server and after changing it they can update those changes by pushing those files back to the server.Some of the most common centralized version control system are CVS,Subversion(or SVN) and Perforce.

Representation of CVCS(centralized version control system)


These type of version control system don’t rely on the central server to store all the versions of a project’s file instead every computer has the clone of the repository and has all the history of a project in their own hard drive,this copy or clone has all the metadata of original.some of the popular DVCS(distributed version control system) are Git,Mercurial and Bazaar.

Representation of DVCS(Distributed version control system)


From the picture above us we can clearly see that DVCS is more popular than the CVCS and has been chosen the preferred one.But its purely depend what are things we want from our version control tool and we can choose accordingly .



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