Guys working in any software development domain need to share code working together and also to version code so that one can go back to the older version of the code. Version Control System helps to achieve these 2 main goals.
Centralized Version Control System
A Centralized version control system operates by placing a server as a centralized server where user can place their code, let’s say 2 users are working on a similar project, and if they want to share a code they can place code on the centralized server which is accessible to all.
However, the main issue with centralized storage of a code is when a central server goes down so code sharing is not possible. this issue is addressed by the Distributed Version Control system,
Some Examples of Centralized Version Control Systems.
- DVS
- SVN
Distributed Version Control System
A Distributed version control system allows users to create multiple copies of the distributed system so that users can access either the distributed copies or directly access the code via the Distributed system.
So developers can create a copy of the main distributed system where all the code is available and the other developers can access this code copy this is known as FORK in GIT.
The most popular Distributed Version control system is GIT.
What is the Difference between GIT and GitHub?
GIT is an open-source platform to performs Versional controlling in a Distributed architecture on the other hand GITHub performs the same tasks as GIT but additionally, it improves the usability, Issues raising and tracking, Commenting, Code Reveieing, and also this day’s Project Management.
Other tools available with similar features are GITLab, BitBucket