Overview
Direct Answer
Git is a distributed version control system that enables developers to track, manage, and collaborate on source code changes without reliance on a central repository. Each developer maintains a complete local copy of the entire project history, allowing offline work and independent branching.
How It Works
Git uses a directed acyclic graph (DAG) structure to store snapshots of code, with each commit containing a hash-based reference to its parent state. Developers clone repositories locally, make commits that record changes with metadata, and push or pull changesets to synchronise with remote repositories, resolving conflicts through merge or rebase operations.
Why It Matters
Organisations require version control for compliance, auditability, and risk mitigation; Git's distributed architecture eliminates single points of failure and enables teams to work asynchronously across time zones. The branching model supports parallel feature development and facilitates code review workflows, reducing defects and improving deployment reliability.
Common Applications
Git supports open-source collaboration on projects like the Linux kernel, powers continuous integration pipelines in enterprise deployment, and enables development teams across financial services, cloud infrastructure, and software product companies to manage codebases ranging from monoliths to microservices architectures.
Key Considerations
Large binary files and monolithic repositories can degrade performance; teams must establish conventions for branching strategy, commit hygiene, and access control. The distributed model requires discipline to avoid repository fragmentation and conflicting changes across parallel branches.
Cross-References(1)
Referenced By1 term mentions Git
Other entries in the wiki whose definition references Git — useful for understanding how this concept connects across Software Engineering and adjacent domains.
More in Software Engineering
Integration Testing
Quality & TestingTesting the interaction between different software modules or components to verify they work together correctly.
Package Manager
Paradigms & PatternsA tool that automates the process of installing, upgrading, configuring, and removing software packages.
Kanban
Paradigms & PatternsA visual workflow management method that limits work in progress and optimises the flow of tasks through a system.
Event Loop
Paradigms & PatternsA programming construct that waits for and dispatches events or messages in a program.
Stress Testing
Paradigms & PatternsTesting a system beyond normal operational capacity to determine its breaking point and failure behaviour.
Caching
ArchitectureStoring frequently accessed data in a fast-access storage layer to reduce latency and improve performance.
Relational Database
Paradigms & PatternsA database structured to recognise relations among stored items, organised in tables with rows and columns.
Technical Documentation
Paradigms & PatternsWritten materials describing the architecture, design, APIs, and usage of software systems.