Field Guide · concept

Also known as: version control "VCS"

Version control is a system that records snapshots of a project’s files over time, so you can recall any earlier state, see who changed what and why, and collaborate without overwriting each other’s work.1

commits over time, with a branch that merges back
Version control strings snapshots into a history you can travel along, branch, and merge.

What it solves

Without version control, keeping old versions means copying and renaming whole folders — report_final_v2_FINAL.docx — and merging a teammate’s edits becomes copy-paste and hope. A version control system replaces that with one working copy and a complete, queryable history alongside it. Each meaningful point is recorded as a commit: a snapshot of the project plus a message saying what changed and why. With that history you can restore an earlier state, see who changed each line, branch off to try a risky idea safely, and understand why a line exists by reading the commit that introduced it.

Centralized vs distributed

Version control evolved through three designs. Local tools tracked files on a single machine. Centralized systems (CVS, Subversion/SVN) keep the history on one server that everyone checks in and out of — enabling collaboration, but with a single point of failure and a network dependency for most operations. Distributed systems (Git, Mercurial) give every contributor a full clone of the repository, history and all, so you can commit, browse, and branch offline, and no single server’s loss erases the work. Git, built in 2005 for the Linux kernel, won on speed, cheap branching, integrity by content hashing, and a thriving ecosystem of hosts like GitHub.1

Why it underpins everything

Version control is the backbone of modern development. It is what a CI/CD pipeline watches — every push triggers a build and test run. It stores the lockfiles that make dependency management reproducible, and it holds the tags that mark each release under semantic versioning. Its safety net is also what makes bold refactoring practical: any change can be reviewed, reverted, or compared against history.

Sources

  1. Version control — Wikipedia, for the centralized-vs-distributed designs and Git’s history.  2

See also