DEV Community

Cover image for What is Version Control System?
chetan jain
chetan jain

Posted on

What is Version Control System?

Version Control System

Version Control System's are the software which is continuously seeing in your code and whenever you made a single change in your code they report it and took a snapshot and save it in their memory.
So the basic work of VCS(version control system) is the management of our code over time.
VCS keeps track of each modification you made it in your code. If you want to revert back in the code.

  • example
    • If you add some code in your project and that code gives you an error in your project and you need to go back to the previous position so you can compare your code with the help of VCS so that you will know what you add and delete in your project and revert back to the previous position.


  • VCS protects your source code from unattended access in your projects.
  • VCS helps developers to work simultaneously on the same project. If VCS is not there then it is almost impossible to collaborate on the same project until and unless the person is sitting next to you.
  • VCS follows a tree data structure so the software made one node per participant and the changes made by the participant goes downside of the participant node as a child node that will help us to track the changes made by each participant in the project.
  • VCS take backups of our project if by chance we delete anything which is mandatory to run our project so we can download or pull that from the repository(project folder on the server of VCS).

Top 10 Version Control System

  1. Git
  2. GitLab
  3. BeanStalk
  4. PerForce
  5. Apache Subversion
  6. AWS CodeCommit
  7. Microsoft Team Foundation Server
  8. Mercurial
  9. CVS Version Control (Concurrent Versions System)
  10. BitBukcet

Each has its own advantages and disadvantages but the most preferred by the community is Git.

How to install Git?

Follow the instruction here

Discussion (7)

adityamitra profile image
Aditya Mitra

Since you forgot to mention,
The most important use of version control system is that we can maintain different versions of our project/software without having each version copy pasted in different folders for each version.

Simply put: We do not need to copy the entire 1GB of the project for a simple 1MB change.

chetanjain645 profile image
chetan jain Author

Sorry i will edit this and put it simply.. thank you so much

dtuite profile image
David Tuite

My understanding is that GitLab isn't really a VCS. It's a hub for many pipeline features and it uses Git under the hood. It's kinda the same as how GitHub isn't a VCS either, it's a social network for Git (for want of a better term).

eddex profile image

GitHub, GitLab, Bitbucket and AWS CodeCommit are all just different ways to manage Git repositories.

chetanjain645 profile image
chetan jain Author


canro91 profile image
Cesar Aguirre

For me the best analogy to VCS is a time machine. You can go backwards in time, create alternate timelines and combine two separate timelines.

chetanjain645 profile image
chetan jain Author

Yeah it is good explanation.. 😁😁