What is Git, and how is it different from a centralized VCS like SVN?

Git & SDLC Fundamentals Basic Fresher Conceptual 1 min read

Quick Answer

Git is a distributed version control system: every clone is a full repository with the complete history, so you can commit, branch, diff and view history offline. SVN is centralized — there's one server, and most operations need a connection. Git also stores snapshots of the whole tree per commit, not per-file deltas.

Git is distributed, which means when I clone a repo I get the entire history, not just the latest version. So committing, branching, diffing and looking at the log all happen locally and instantly, and there's no single server that's a bottleneck or a single point of failure. SVN is centralized — one server, and you generally need to be connected. Git also thinks in snapshots of the whole project per commit, and each commit is a hash of its contents and its parent, so the history can't be quietly altered.

  • Distributed = fast local operations, cheap branching, no single point of failure, flexible workflows.
  • A commit is identified by a SHA hash of its content + parent(s), which makes history tamper-evident.
  • “Remote” (GitHub, GitLab, Azure DevOps) is just another repository you sync with via push/fetch/pull.