Git
Git is the distributed version control system Linus Torvalds wrote in 2005 to replace BitKeeper for Linux kernel development. Junio Hamano has been lead maintainer since July 2005; the project is a fiscally-sponsored member of the Software Freedom Conservancy (since December 2010). Licensed GPLv2. Current release: 2.55.0 (June 29, 2026), which enabled Rust support by default and added a `git history fixup` command. Every commit is content-addressed into a Merkle DAG, giving full offline history and cheap local branching — no server round-trip needed for commits, diffs, or log. Adoption: the overwhelming majority of developers name it their primary VCS — Stack Overflow's developer surveys have shown Git usage in the low-to-mid 90% range for years, though the precise '93.87%' figure that circulates online traces back to SEO stat-aggregator sites rather than a number Stack Overflow itself has published. GitHub alone hosts 630M+ repositories across 180M+ developers (GitHub Octoverse 2025, confirmed against GitHub's own report). Current version/status: 2.55.0 (released June 29, 2026). License: GNU General Public License v2 (GPLv2), with some components (e.g. the bundled xdiff library and compat/regex code) under LGPL v2.1. Pricing: Free and open source — no license fees, no paid tier; hosting/collaboration platforms built on top of Git (GitHub, GitLab, Bitbucket) have their own sepa
Pick Git for anything from solo scripts to Linux-kernel-scale codebases: its branching model and fully offline commits are unmatched for distributed teams and messy parallel-merge workflows. Skip it if your org needs native large-binary/monorepo handling at Google scale without bolting on LFS or partial-clone tricks — Perforce Helix Core still wins that fight outright. Honest weakness the community itself keeps flagging: `checkout` still does three unrelated jobs (switch branches, restore files, create branches), and even though `git switch`/`git restore` were added in 2.23 back in 2019 to split it apart, most tutorials and muscle memory still teach the old, overloaded verb. Known weakness: CLI verb overload — `git checkout` conflates branch-switching, file-restoring, and branch-creation into one command; `git switch`/`git restore` were added in v2.23 (2019) to fix this but haven't displaced the old habits or most tutorials.