Version Control System: A version control system is defined as a management software responsible for managing changes to computer programs, documents, large websites, or other collections of information. Have you ever wondered how lakhs of developers collaborate on the same project from any part of the world by working remotely?
If yes, then you are at the right place. This is possible to collaborate on the same project by working remotely just because of the concept of the Version Control System. In this article, you will learn in detail about the Version Control System, the types of version control system and the history of the version control system.
Features of Version Control System
- Easy recovery of files/folders.
- Rollback to the previous versions.
- Informs us about Who, What, When, and Why changes have been made.
History Of Version Control System
Once upon a time, several version control system software was used in the software industry for collaboration and management of codes. But not any version control software gained popularity like the modern version control software i.e. Git. Here we will discuss the brief history and types of version control system software with the vcs example used for managing and collaborating codes.
Types of Version Control System
There are mainly 3 types of Version Control System.
- Local Version Control System
- Centralized Version Control System
- Distributed Version Control System
Local Version Control System
The concept of a local version control system was to store change history in local computer storage along with the timestamp. In the local version control system, the code was stored in the local control system.
Disadvantages of Local Version Control System
The main disadvantage of the local version control system was that the code might be lost if the local hard disk of the computer is corrupted. Since at that time, there was not any other version control software built, so at that time the local version control software was used widely in the software industry.
Centralized Version Control System
In a centralized version control system, a contributor can manage their changes in the source stored in a code in a centralized folder called a repository. The centralized repository in the version control system is used to store all the versions of files and documents, along with their change history.
The repository is a folder directory where your project source code is stored. It can be a local folder on your computer or a remote directory hosted on a server.
There are 2 types of repository
- Local Repository
- Central Repository
The local repository is a folder directory in physical computer storage where all the project source codes are stored. It was used mainly in local vcs. In the centralized version control system, a central repository stores the project source code instead of a local repository.
Local Repository is only accessible by the individual contributor having the computer where the source code history is stored.
A Central Repository is a single central repository that stores all the files and their versions. This repository is often hosted on a server that all the team members can access who have permission.
Centralized VCS contains just one repository i.e. central repository and each user gets to work on the same.
Disadvantages of Centralized Version Control System
- As the central repository is hosted on the remote server If the remote server goes down even for an hour then you will face an issue while fetching the source code and changes history.
- You’ll lose the project source code if the hard disk of the central server goes down.
Distributed Version Control System
Distributed version control systems contain multiple repositories. Each user has a local repository & there is a central repository where the final code resides.
The distributed version control system is a vcs example that provides a full backup of the project source code and the change history.
Don’t worry about seeing the complexity of the above image. we will deep dive into the management of distributed version control systems later in an upcoming article. Git is an example of a distributed version control system that contains the source code along with the change history, and contributor details stored locally in the computer storage.
You will get to know in detail about Git in later articles.
Version Control System – FAQs
1. What is Version Control System Git?
Git is a distributed version control system that is used for tracking changes in the project source codes. Git was created in 2005 by Linus Torvalds.
2. What are some examples of a Version Control System?
BitBucket, Mercurial, and SVN (Subversion) are some examples of a version control system list.
3. What are some centralized version control system examples?
The most common centralized version control systems are the Concurrent Versions System (CVS), Perforce, and Subversion (SVN) and Microsoft Team Foundation Server (TFS).
4. What is version control system tools?
A version control system tool is a version control system software that is used for tracking the changes in the project source code and changes history.
Thanks for reading this article. If you loved this article, please follow me for the later article on the series of Git and Github Tutorial.