Version Control Systems are the application source code management tools. They help to work different developers simultaneous on a single platform. Also helps in maintaining history and detailed logs of each commits made by the developers during software development.
Why we need Version Control Systems (VCS) ?
We need them in order to avoid messing up, overwritten of our source code by the developers during the development process. They also helps in maintaining the backup to our source code and to know the changes made on which line by which developers at which time etc.
Types of Version Control Systems
- Local Version Control Systems : Controlling or tracking the changes in code files on our local machines. This is only used for single user and this cannot be used to collaborate work in a team by a group of developers.
- Centralized Version Control Systems : This type of VCS is used to collaborate on a project by the group of developers. In this type of VCS all the developers need to connect to the centralized server, where our development code is going to be stored. When any changes made to the files will be going to update in this system. But it has some drawbacks like to connect to this centralized system one should definitely have internet connectivity. We cannot connect to our sentralized server if any case of internet downtime. Otherhand, if any chance this server gets crashed we don't have any backup. Examples of CVCS are SVN, TFS, Perforce
- Distributed Version Control Systems : By using this type of VCS, every devloper has a copy of the remote repository on their local machines. We don't required internet connectivity all the times, since we work on our local repository which is taken from remote server. Once if we make any changes, then we need internet in order to push the code back to the remote server. Changes in remote server only visible after the developer pushes the code. Examples of DVCS are GIT, Mercurial, Fossils.
Thank you for reading the article. Keep an eye on our next upcoming articles and if in case any questions feel free to drop a comment.