Overview
VCS keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.
Types
- Centralized VCS (CVCS): A single server contains all the versioned files (e.g., SVN).
- Distributed VCS (DVCS): Every user has a full copy of the repository, including its history (e.g., Git, Mercurial).
Benefits
- Collaboration: Multiple people can work on the same project.
- Traceability: Knowing who changed what and why.
- Branching and Merging: Working on features in isolation.