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
Kanban
Paradigms & PatternsA visual workflow management method that limits work in progress and optimises the flow of tasks through a system.
Technical Architecture
Paradigms & PatternsThe design and structure of a software system's technical components and their relationships.
WebSocket
Paradigms & PatternsA communication protocol providing full-duplex communication channels over a single persistent TCP connection.
Webhook
Paradigms & PatternsAn HTTP callback that delivers real-time notifications from one application to another when a specified event occurs.
Software Engineering
Paradigms & PatternsThe systematic application of engineering principles to the design, development, testing, and maintenance of software.
Asynchronous Programming
Paradigms & PatternsA programming paradigm where operations can proceed without waiting for other operations to complete.
Caching
ArchitectureStoring frequently accessed data in a fast-access storage layer to reduce latency and improve performance.
Domain-Driven Design
Paradigms & PatternsA software design approach focusing on modelling the business domain and aligning code with business logic.