Why version control matters
ObjectiveDescribe the purpose and benefits of version control
A version control system records every change to a set of files, so a team can see history, recover old versions, and work in parallel.
Read the full explanationHide the full explanation
A version control system (VCS) tracks changes to a collection of files. Its two goals are to let you get back any earlier version of a file or the whole project, and to let several people work on the same project, even the same files, at the same time without getting in each other's way. It isn't only for software: Learn mentions books and online tutorials too.
With a VCS you can see every change, when it was made, and who made it; attach a message to each change explaining why; retrieve past versions; create branches to try changes without affecting the main line of work, then merge the ones you keep; and tag a version, for example to mark a release.
Centralized systems such as CVS, Subversion (SVN), and Perforce keep the project's history on one server, which becomes a single point of failure. Git is distributed: every copy holds the complete history, so you can commit without a network connection and sync later, and a server outage doesn't lose the project.
Remember for the exam
- "Who changed it and when", "restore an old version", "work in parallel" → the benefits of version control.
- Branch = a separate line of work; tag = a label on one version.
- Offline commits or no single point of failure → distributed (Git), not centralized (SVN).