Tools · SPBoucher
Menu

Git

In-depth entry

by Git project (Software Freedom Conservancy) · CLI tool · also known as git-scm

Distributed version control system that records snapshots of a project's history locally and synchronizes them with remotes such as GitHub, GitLab or a bare repository over SSH

GPL-2.0-only licenseOpen sourceFreeLocalSelf-hostedSelf-hostable
Visit official site Compare

Link verified Nov 2, 2026

Overview

Git is a distributed version control system created by Linus Torvalds in 2005 and maintained by Junio Hamano and a community of contributors, with the Software Freedom Conservancy as its fiscal home. Every clone holds the full history as a content-addressed object store, so committing, branching, diffing and searching history work offline and remotes are only needed to exchange changes. Branches are lightweight pointers, which makes feature branches, rebases and topic-based workflows cheap.

Git is the substrate for nearly all code hosting: GitHub, GitLab, Gitea and Forgejo are web services built around Git repositories, and self-hosted bare repositories reachable over SSH are a complete remote on their own. Tooling surrounds it at every level, from editor integrations and graphical clients to hooks that run linters or tests, large-file storage (Git LFS) for binary assets, and signing of commits and tags with GPG or SSH keys.

Beyond source code, Git is routinely used to version LaTeX manuscripts, analysis scripts, infrastructure configuration and documentation, giving researchers an audit trail and the ability to reproduce an exact state. The command-line interface is the reference; the official documentation includes the Pro Git book and the reference manual for every subcommand.

Its difficulties are well known: the command vocabulary is inconsistent and the conceptual model (index, working tree, detached HEAD, rebase versus merge) takes time to internalize; large binary files bloat repositories unless LFS is used; and history rewriting on shared branches causes trouble for collaborators. Monorepos at very large scale need additional tooling such as sparse checkout and partial clone.

Capabilities

  • Full local history with offline commits, branches and diffs
  • Lightweight branching, merging and rebasing
  • Remotes over SSH, HTTPS and the Git protocol
  • Hooks for automation on commit, push and receive
  • Commit and tag signing with GPG or SSH keys
  • Partial clone, sparse checkout and worktrees for large repositories
  • Bisect, blame and log search for history forensics
  • Submodules and Git LFS for dependencies and large files

Typical workflows

  1. Branch, commit and open a pull or merge request on a forge
  2. Push to a bare repository on a private server over SSH
  3. Version a LaTeX paper or analysis pipeline alongside its data manifests
  4. Find the commit that introduced a regression with bisect

Strengths

  • Universal: every forge, editor and CI system supports it
  • Works fully offline
  • Cheap branching enables flexible workflows
  • Free software under the GPL

Limitations

  • Steep conceptual learning curve and inconsistent command design
  • Poor handling of large binary files without LFS
  • History rewriting on shared branches is error-prone
  • Very large monorepos need extra tooling

Prerequisites

  • Any OS; ships with Xcode Command Line Tools on macOS or via package managers

Who it is for

  • Software developers
  • Researchers versioning manuscripts and code
  • Operations teams managing configuration as code

Alternatives & comparison

GitHub, GitLab and Gitea are not replacements for Git but hosting services built around it; they add web review, issues, CI and access control to Git's core data model. Choosing among them is a hosting decision (cloud versus self-hosted, license, ecosystem), while Git itself is common to all. Other distributed version control systems such as Mercurial exist but have a much smaller share of hosting and tooling support.

  • Gitea

    Lightweight self-hosted Git forge written in Go with repositories, pull requests, issues, packages and GitHub-compatible Actions, deployable as a single binary

    Open sourceOpen source
  • GitHub

    Microsoft-owned code hosting platform for Git repositories with pull requests, issues, Actions CI/CD, package registry, Copilot and the largest open-source community

    ProprietaryFreemium
  • GitLab

    Open-core DevSecOps platform combining Git hosting, merge requests, integrated CI/CD pipelines, registry and security scanning, available as SaaS or self-managed

    MixedFreemium
Compare Git with its alternatives →

Sources & verification

Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.

  • License
    https://github.com/git/git/blob/master/COPYING

    Supports: license_spdx, source_model

    COPYING states GPL v2 only

    checked Nov 1, 2026
  • Official documentation
    Git Documentation

    https://git-scm.com/doc

    Supports: capabilities, description

    checked Nov 1, 2026
  • Official site
    Git

    https://git-scm.com/

    Supports: name, summary

    checked Nov 1, 2026
  • Repository
    git/git mirror

    https://github.com/git/git

    Supports: repo_url

    checked Nov 1, 2026
Confidence
High
Reviewed
Nov 1, 2026
Links
Verified · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

Forgejo

Forgejo project (Codeberg e.V.) · Version control & code hosting

Community-governed self-hosted Git forge forked from Gitea, stewarded by Codeberg e.V., with pull requests, issues, packages and Forgejo Actions

GPL-3.0-or-laterOpen sourceFreeSelf-hostedNov 2, 2026