Version Control System

Version control systems(VCS) are a category of software tools that helps record changes to files by keeping a track of modifications done to the code.

Use of Version Control System:

  • Copy of Work (checkout): It is the personal copy of all the files in a project. You can edit this copy, without affecting the work of others and you can finally commit your changes to a repository when you are done making your changes.

Types of Version Control Systems:

Local VCS

Centralized VCS

The benefit of CVCS makes collaboration amongst developers along with providing an insight to a certain extent on what everyone else is doing on the project. It allows administrators to fine-grained control over who can do what.

It has some downsides as well which led to the development of DVS. The most obvious is the single point of failure that the centralized repository represents if it goes down during that period collaboration and saving versioned changes is not possible. What if the hard disk of the central database becomes corrupted, and proper backups haven’t been kept? You lose absolutely everything.

Distributed VCS

To make your changes visible to others, 4 things are required:

  • Commit
  • Push
  • Pull
  • Update

The most popular distributed version control systems are Git, Mercurial. They help us overcome the problem of single point of failure.

--

--

Developer with 3 yrs of industrial experience in developing scalable web applications.

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
Abhay Jain

Developer with 3 yrs of industrial experience in developing scalable web applications.