Pebellslearn by building
0%
RoadmapsMatrixCoursesSandboxSign in
Learn the Basics  ›  Lesson

Git and Other Version Control Systems

Git vs Other VCS 12 minCentralised systems keep one history on a server, while Git is distributed, so every clone holds the full history and works offline.

Git and Other Version Control Systems

Asha's cousin says, "At my old job we used SVN and needed the server just to see history." Asha's Git history works on a train with no signal. The difference is not a detail; it is the main design choice that separates version control systems.

The rule

Centralised keeps one history on a server; Git gives everyone a full copy.

Centralised systems, such as Subversion (SVN) and Perforce, keep the one true history on a central server. Your computer holds a working copy of the files, but looking at old versions and recording new ones means talking to the server.

Distributed systems, such as Git and Mercurial, give every copy of the project the complete history. Your laptop holds every snapshot ever recorded. You can commit, browse history, compare versions and create branches with no network at all, then share your work when you choose.

What this means for Git in practice:

  • Fast: most commands read your local disk, not a server.
  • Offline: record work anywhere, sync later.
  • Resilient: every clone is a full copy, so losing one machine does not lose the history.
  • Cheap branching: a branch in Git is a tiny pointer, so making one is instant.
  • Snapshots, not patches: each commit records how the whole project looks. Files that did not change are simply re-used, so this stays small.

One more distinction beginners mix up:

git        # the tool that runs on your computer
GitHub     # a website that hosts Git repositories and adds team features

Git is the engine. GitHub (like GitLab or Bitbucket) is a service where you can keep a shared copy online and collaborate around it. You can use Git without ever touching GitHub.

The shortcut

Ask one question: "Where does the full history live?" On one server → centralised. On every copy → distributed. Most other differences follow from that answer.

Asha on a trainStep 1 of 4
  1. No signal

    Asha edits chai.md and wants to record the change.

A common mistake is saying "I pushed my code to Git." You push to a remote repository, which might be hosted on GitHub. Git is the tool on both ends.

Drills

Answer fast — trust the rule.

quick drill

In a distributed system like Git, where is the complete project history?

quick drill

Which of these is a centralised version control system?

quick drill

What is the relationship between Git and GitHub?

quick drill

Asha has no internet. Which can she still do with Git?

Remember

  • Centralised keeps one history on a server; Git gives everyone a full copy.
  • Ask "where does the full history live?" and the other differences follow.
  • Git is the tool; GitHub is one place to host and share Git repositories.

Practice — level up

0/1 solved

Write your answer, then compare it with a rubric and a model answer.

ExplainWhere does the history live?

Explain the difference between a centralised version control system and Git, and describe one thing Asha can do on a train with Git that she could not do with a centralised tool. Also explain how Git and GitHub relate.