Computer Atlas

Version Control

Also known as: VCS, source control

core beginner concept 2 min read · Updated 2026-06-07

Tracking changes to code (and other files) over time, so teams can collaborate without trampling each other's work.

Primary domain
Software Engineering & Notation
Sub-category
IDEs & Software Configuration Management

In simple terms

Version control is “Track Changes” for code. It remembers every saved snapshot of your files, who made each change, and lets many people work on the same project in parallel without overwriting each other.

More detail

A version control system (VCS) gives you:

  • A history of every committed change.
  • The ability to branch — make an independent line of work — and later merge it back.
  • A way to collaborate by sharing those branches with other people, usually via a remote server.
  • Blame/annotate views so you can see why a particular line is the way it is.

Two model families exist:

  • Centralised (Subversion, Perforce) — one canonical server holds the history.
  • Distributed (Git, Mercurial) — every working copy has the full history. Git won this race.

Why it matters

Without version control, software development at any meaningful scale falls apart. Even solo projects benefit from the safety net.

Real-world examples

  • Almost every open-source project on GitHub, GitLab, or Bitbucket uses Git.

  • Game studios and some film/CG shops still use Perforce because it handles huge binary files well.

  • The Linux kernel project has over 1.4 million Git commits from 25,000+ developers — a scale of collaboration that simply isn’t possible without distributed version control.

Common misconceptions

  • “Git and GitHub are the same.” Git is the version control tool. GitHub is a website that hosts Git repositories and adds collaboration features.

Learn next

Learn the dominant tool: Git.

Neighborhood

A visual companion to the relationships above. Click any node to visit that topic.