Suggest an editImprove this articleRefine the answer for “How does Git store data?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)**Git** stores data not as a set of diffs, but as snapshots of the project state. **Key point:** Git stores data as a set of project snapshots, using objects (blob, tree, commit), rather than as diffs between versions.Shown above the full answer for quick recall.Answer (EN)ImageGit stores data **not as a set of diffs**, but as **snapshots of the project state**. ## Key idea Each commit is a **full snapshot of all project files** at the time of the commit. If a file **has not changed**, Git **does not duplicate it**, but simply **references** the already stored version. ## What data in Git consists of Git stores everything as **objects**: 1. **Blob** - file content > Stores only the file's data, without a name or path. 2. **Tree** - directory structure > Links file and folder names to blobs and other trees. 3. **Commit** - a snapshot of the project > Contains: - a reference to a tree (state of the files), - reference(s) to parent commits, - author, date, message. 4. **Tag** - a named reference > Usually points to a specific commit (for example, a release). ## How Git saves space - unchanged files **are not copied**; - **hashing (SHA-1 / SHA-256)** is used; - identical content -> **the same object**. ## Why this matters - fast operations (commit, checkout, branch); - data integrity (any change changes the hash); - branches are **just pointers to commits**, not copies of code. ## Short version for an interview > **Git stores data as a set of project snapshots, using objects (blob, tree, commit), rather than as diffs between versions.**For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.