Developer Tools · Reviewed

Git

A distributed version-control system that records project history through commits and branches, allowing developers to work locally and exchange changes with other repositories.

DeveloperSoftware Freedom Conservancy
First release2005
PlatformsWindows, Linux, macOS, Unix
LicenceGPL-2.0-only
StatusCurrent
CategoriesDeveloper Tools

Overview

Git stores snapshots and relationships between commits so users can inspect changes, create branches and combine lines of work. A normal clone includes substantial project history, making many operations possible without a network connection. Remotes provide a way to exchange objects and references between repositories.

The command-line tool and repository format are distinct from hosting services such as GitHub or GitLab. Collaboration policies, issue tracking and code review often come from those additional systems. Git supplies the underlying history and change-management operations rather than prescribing one complete team workflow.

Key features

Historical significance

Git made local branching and distributed collaboration practical for a wide range of projects. Its significance includes the separation of a shared history from a single mandatory central server. Hosting platforms built additional practices around that foundation, making Git central to modern open-source and commercial development.

History and development

Linus Torvalds began Git in 2005 after the Linux kernel community's use of BitKeeper changed. The project prioritized distributed operation, performance and support for nonlinear development. Junio Hamano soon became its long-term maintainer.

Git expanded beyond kernel development as tools, hosting services and educational resources made it more accessible. Its continued development improved usability, performance and support for large repositories. The original response to one project's needs became shared infrastructure for a much broader software ecosystem.

Sources