Tag
git-internals
- Jan 27, 2025 Commit-Graph Files and Generation Numbers Why ancestry queries are slow without an index, how topological levels and corrected commit dates bound a search, and where the graph goes stale. developer tools
- Oct 1, 2024 Git's Object Model: Content-Addressed Blobs, Trees, and Commits How Git frames and hashes objects, why a rename leaves no trace in storage, and what the four object types cost when content changes. developer tools
- Aug 27, 2024 The Git Index: A Sorted Path Table Between Worktree and Commit What the binary index file stores, how the stat cache avoids rehashing every file, and why merge conflicts appear as three entries for one path. developer tools
- May 8, 2024 Packfiles and Delta Chains: How Git Stores Similar Objects Once The pack and index file formats, how delta instructions rebuild an object from a base, and what chain depth costs on read. developer tools
- May 25, 2023 The Fetch Protocol: Wants, Haves, and Thin Packs How a client and server agree on the smallest object set to transfer, how pkt-line framing bounds each message, and why a received pack may not be complete. developer tools
- Oct 14, 2022 Refs, Symbolic HEAD, and the Reflog as an Append-Only Log How branch names are stored as text files and packed lists, how HEAD follows indirection, and what the reflog records that refs do not. developer tools