Git

/ɡɪt/ · Noun · Development · Origin: 2005

Definitions

  1. Git is a distributed version control system created by Linus Torvalds in 2005 to manage the development of the Linux kernel. Unlike centralized version control systems, every developer's working copy of the code is a complete repository with full history, enabling offline work and fast operations. Git tracks changes through snapshots of the entire project rather than file-level diffs, and uses SHA-1 hashes to ensure data integrity. Core operations include committing changes, branching to work on features in isolation, and merging branches back together. Git's branching model is lightweight and fast, encouraging workflows like feature branches, pull requests, and release branches. Platforms like GitHub, GitLab, and Bitbucket build on Git to provide code hosting, code review, issue tracking, and CI/CD integration. Git supports advanced operations like rebasing, cherry-picking, bisecting to find bugs, and interactive staging. It has become the de facto standard for source code management across the software industry, used by individual developers and large organizations alike.

    In plain English: A system that tracks every change ever made to code, lets multiple people work on the same project simultaneously, and can undo mistakes — the save-game system for programming.

    Example: "I git-pushed to main and broke the build. Turns out I am the git."
  2. Git's internal model is surprisingly simple: it's a content-addressable filesystem where commits, trees, and blobs are stored as objects identified by SHA-1 hashes. Understanding this model (git internals) transforms Git from a confusing set of commands into a logical system.

    Example: 'Once you understand that a Git branch is just a pointer to a commit hash, and a commit is just a snapshot with parent pointers, everything clicks.'

    Source: internal model

Etymology

2005
Torvalds builds Git in two weeks after BitKeeper revokes free license for Linux kernel
2008
GitHub launches and Git adoption explodes

Origin Story

Named by Linus as a self-deprecating joke

In April 2005, Linus Torvalds needed a new version control system for the Linux kernel. The previous tool, BitKeeper, had revoked its free license after a controversy. Torvalds famously wrote the first version of Git in about two weeks.

The name 'Git' is British slang for an unpleasant person. Torvalds said the name was a self-deprecating joke: 'I name all my projects after myself. First Linux, now Git.' The README file originally described Git as 'the stupid content tracker.'

Despite (or perhaps because of) its notoriously steep learning curve, Git became the dominant version control system worldwide. When GitHub launched in 2008, it made Git accessible to millions of developers who might never have used it otherwise. Today, Git is so ubiquitous that many junior developers don't know any other VCS exists.

Coined by: Linus Torvalds

Context: Written in ~2 weeks, April 2005

Fun fact: The first commit message in Git's own repository reads: 'Initial revision of "git", the information manager from hell.'

Related Terms