Glossary

Git

Git is a distributed version control system created by Linus Torvalds in 2005 for managing the Linux kernel source. After BitKeeper, the previous free-for-kernel tool, withdrew its free license, Torvalds wrote git in two weeks as a replacement. Within a few years it had become the dominant VCS in software, displacing Subversion, CVS, and Mercurial.

"Distributed" means that every working copy is a full repository with complete history—no central server is fundamentally required. Commits, branches, and merges happen locally; pushing and pulling synchronises with remotes when you choose. This model made git exceptionally well suited to open-source collaboration and gave rise to GitHub, GitLab, and Gitea as hosting platforms.

Core concepts include:

  • Commit — a snapshot of the repository at a point in time
  • Branch — a movable pointer to a commit; creating one is cheap
  • Remote — another repository you push to or pull from
  • HEAD — the current commit/branch
  • Working tree — the files in your filesystem
  • Index (staging area) — changes queued for the next commit

Git's power comes with complexity. Commands like rebase, cherry-pick, and reflog give precise control but can also destroy work if used carelessly. A healthy respect for git reflog as the last-resort recovery tool is a mark of an experienced git user.

Related terms: Git Commit, Git Branch, Git Repository, github

Discussed in:

Also defined in: Textbook of Linux