Git: Everything

The nearest board the site has. It draws what git does once two versions exist; this lesson closes a build that made the versions, and then asks real git to read them.
Before you start. This series has built a small git in five stages. Each one is a layer you can name:
- A blob: a file’s bytes, named by the SHA-1 of a header plus the bytes, stored compressed (Git 01: The Blob).
- A tree: a folder as a sorted list of mode, name and hash (Git 02: The Tree).
- A commit: a tree, a parent, an author and a message; a branch as a 41-byte file; HEAD as a pointer to that file (Git 03: Commits, Refs and HEAD).
- A log that follows parents, and a checkout that rebuilds a folder and refuses to destroy work (Git 04 and 05: Log and Checkout).
This lesson adds no mechanism. It runs the finished tool beside real git, on the same files, and compares.