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
Queue System
Paradigms & PatternsA data structure and infrastructure for managing asynchronous task processing and inter-service communication.
Scrum
Paradigms & PatternsAn agile framework using fixed-length iterations called sprints for incremental product delivery with defined roles and ceremonies.
Stress Testing
Paradigms & PatternsTesting a system beyond normal operational capacity to determine its breaking point and failure behaviour.
Idempotency
ArchitectureThe property where an operation produces the same result regardless of how many times it is executed.
Parallelism
ArchitectureThe simultaneous execution of multiple computations across multiple processors or cores.
Kanban
Paradigms & PatternsA visual workflow management method that limits work in progress and optimises the flow of tasks through a system.
Unit Testing
Quality & TestingTesting individual components or functions in isolation to verify they produce the expected output.
Waterfall Model
Paradigms & PatternsA sequential software development methodology where each phase must be completed before the next begins.