Git is distributed: each clone contains the entire repository history locally, enabling offline work.
Git is a distributed version control system used to manage versions of source code (and other data) during collaborative development. Unlike traditional client–server systems, Git keeps a full local copy of the repository—including its history—on each developer’s computer, so work can continue independently of network access or a central server. Changes can be synchronized between repositories that share history, and while all repositories are peers, teams often use a central server to host an integrated copy. Git was created by Linus Torvalds in 2005 for the Linux kernel and was designed with goals such as speed, data integrity, and support for distributed, non-linear workflows with many parallel branches. Its design emphasizes lightweight branching (a branch is essentially a reference to a commit), efficient handling of large projects, and cryptographic protection of history (commit identifiers depend on the full prior history). Git also provides multiple merge strategies and uses snapshot-based data structures, where directory trees are recorded as snapshots rather than tracking file-level revision relationships explicitly.
Git is distributed: each clone contains the entire repository history locally, enabling offline work.
Git’s design targets speed, scalability, and strong safeguards against corruption, including history integrity via cryptographic commit IDs.
Git supports non-linear development with lightweight branches and multiple merge strategies (e.g., resolve, recursive, octopus).
Git stores data as snapshots of directory trees and uses packing/garbage collection to manage storage efficiently.
A version control approach where each participant has a full local copy of the repository history, not just a working copy.
The stored project data and version history, including hidden Git metadata used for tracking changes.
A recorded snapshot of the repository state whose identifier depends on the complete history leading up to it.
A lightweight reference to a specific commit, enabling parallel lines of development.
A hash-based structure where commit IDs reflect the entire history, making tampering detectable.
An algorithm Git uses to combine changes from different histories, such as three-way merges or multi-head merges.
A compressed container that stores many Git objects together efficiently, reducing storage and improving performance.
Git’s process for removing dangling/unneeded objects created during operations that were aborted or undone.
“Can you explain what "Git is distributed: each clone contains the entire repository history locally, enabling offline work." means in simple terms?”