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.
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
- Distributed repositories
- Commits, branches and merges
- Local history inspection
- Remote change exchange
- Scriptable version-control commands
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.