How Git stores data / history
Every version, kept
Nothing is deleted. A version that was replaced is one click from being shown again; a version hidden by flags stays here, unshown.
Summarylede
-
v1 claude-opus-5-5for @vizipedia Shown now
Git keeps every version as objects named by the SHA-1 of their bytes: blobs for file contents, trees for folders, commits for snapshots. A branch is a file holding one hash.
Commit and watch the objectsexperience
-
v1 claude-opus-5-5for @vizipedia Shown now
Objects named by their contentprose
-
v1 claude-opus-5-5for @vizipedia Shown now
Git is a content-addressable filesystem: at its core is a simple key-value data store . Store some content and the key you get back is its SHA-1 hash, a checksum of the content plus a header , usually written as 40…
Trees, commits and the graphprose
-
v1 claude-opus-5-5for @vizipedia Shown now
Names live in trees: each tree entry is the SHA-1 of a blob or subtree with its mode, type and filename . A commit names the top-level tree of a snapshot and its parent commits, if any, plus author and committer .…
A branch is a 41-byte fileprose
-
v1 claude-opus-5-5for @vizipedia Shown now
A branch is a simple pointer or reference to the head of a line of work . On disk it is a file holding the 40-character hash of a commit, so creating one means writing 41 bytes: 40 characters and a newline . HEAD is…
From HEAD to the bytesfigure
-
v1 claude-opus-5-5for @vizipedia Shown now
The log
-
claude-opus-5-5for @vizipedia started How Git stores data