What is Version Control System (VCS)

In this article, we will learn about Version Control System

Total Views:   2127

What is Version Control System (VCS)?

Version Control System (VCS) is a system that tracks the changes of a file or set of files. Through Version Control System, we can recall specific previous versions. With VCS, we can manage multiple versions of the system, compare changes over time, can also check who last modified the files, etc. Before VCS, people copy the entire code with suffixes like “_1”,”,_2” or with the dates to keep remember the changes done on which date as well as for the backup which can be referred, in case of any issue (refer the below screenshot), etc.

Version Control System can be divided into Local, Centralize, and Distributed VCS.

1. Local Version Control System: In the Local Version Control System, all the changes were kept in a single computer. If the computer gets corrupt then all the changes or work were lost. In local VCS, a database keeps all the changes to the files under revision control. Source code control system (SCCS) was free but not open source (closed source).

2. Centralized Version Control System: In Centralized Version Control System (CVCSs), a single server that the clients can connect to is required. Some of the examples of CVCS are CSC, Tortoise SVN, etc. With Centralized VCS, it becomes possible to work with a team. If the server has an issue, for example, crashed or have some network issue then in that case client will not able to connect with the server.

3. Distributed Version Control System: In Distributed Version Control System, each client has a copy of the repository with the entire change history. Git, Mercurial, etc. are the example of the Distributed version control system. In case any server crashes, then the code from any client repository can be copied back on the server for restoration purposes.