Version Control System (VCS) also known as revision control or source control is a software that helps developers to work together, manage changes to the documents, programs and other collections of information and maintain a complete history of their work.
Ex: Git, SVN and Perforce etc.
The version controlling softwares accept the project uploads coming from various developers and create one integrated project out of those uploads.
The process of uploading into version controlling system is called checkin. The next day when the developers download the code from version controlling system, they will find all the code developed by entire team.
Following are the types of VCS:
1. Centralized version control system (CVCS).
In CVCS, we have only one remote repository into which all the developers checkin their code. This remote repository maintains all the versions of the code i.e older versions and latest version.
2. Distributed version control system (DVCS).
In DVCS, Local repository will maintain on each developers machine where version controlling happens at the level of individual developers. Later, this code will send into remote repository where version controlling happens at the entire team.