Git & Command Line Tutorial · Command Line Basics · Lesson 7 of 20

Git History & Versions

How Linus Torvalds wrote Git in a few weeks in 2005 to manage the Linux kernel, how it beat older version control systems, the milestones from 0.99 to 2.56 on one timeline, and how hosting services made it universal.

Create a free account to save this page, take notes and track your progress. Sign in

How Git started

Until 2005 the Linux kernel was developed with BitKeeper, a proprietary version control system whose free licence for open-source projects was withdrawn that April. Linus Torvalds decided to write his own. His goals: be very fast, fully distributed (every copy has the whole history), protect data against corruption, and handle a huge project with thousands of contributors.

He started in early April 2005; within days Git could track its own source code, and by June it managed the kernel. In July 2005 he handed maintenance to Junio Hamano, who has led the project ever since. The name, Torvalds joked, is British slang for an unpleasant person, "and I name all my projects after myself".

Timeline

  1. Git 2.56Current
    • The latest feature release
  2. Git 2.45Historic
    • The reftable reference storage format (git init --ref-format=reftable)
  3. Git 2.28Historic
    • The init.defaultBranch setting, letting new repositories start on main
  4. Git 2.23Historic
    • git switch and git restore, splitting up the many jobs of git checkout
  5. Git 2.0Historic
    • Safer defaults: git push pushes only the current branch, git add includes removals
  6. Git 1.5Historic
    • A much friendlier command set for everyday use
  7. Git 1.0Historic
    • The first 1.0 release
  8. Git 0.99Historic
    • The first numbered release, as Junio Hamano took over maintenance

How Git took over

  • Distributed by design: everyone has the full history, so committing, branching and viewing history work offline and instantly. Cheap branches made new workflows (feature branches, pull requests) practical.
  • Hosting made it social: GitHub (2008), Bitbucket (2008) and GitLab (2011) added pull requests, code review and CI around Git. By the late 2010s Git had replaced Subversion, Mercurial and others for most teams.
  • Still evolving: recent releases have focused on performance for huge repositories (partial and sparse clones, commit graphs, reftable) and on a long-planned move from SHA-1 to SHA-256 object names.

Which version should you use?

Use a recent release from your package manager or git-scm.com. Everyday commands in this tutorial work on any Git from 2.28 onward; git switch and git restore need 2.23 or newer.

Official resources

Last reviewed 21 October 2026. Release and support dates come from the official release pages linked above.

Was this page helpful?