Git for Infrastructure Engineers
A deep introduction to git for people who are already fluent in operating systems, filesystems, C and bash β and who bounced off tutorials that opened with a list of commands to memorise.
Git is taught here as a content-addressed database plus pointer files, with the everyday commands derived from that model rather than presented as verbs to learn. Branches are 41-byte files. The index is a write buffer and a commit is the flush. The reflog is a journal. If those framings land, the commands stop needing memorisation.
The nine numbered pages are a sequence β start at Module 1 and read in order, since each builds on the last. The Supplements sit outside that path; read them when you need them.
There is a companion lab repository you fork and work in, so every exercise runs against real history rather than a transcript. Module 1 tells you how to get it.
Module 1 β Orientation
What version control is actually for, and the object database underneath the commands. Read these two first β everything after assumes them.
Module 2 β Sharing Work
Remotes as a URL plus a refspec, what git deliberately ignores, and the everyday pull/commit/push loop on a repo someone else is pushing to as well.
Module 3 β Changing History Safely
Setting work aside, combining branches, and getting out of trouble: reset's three modes, revert, and the reflog as the thing that makes mistakes survivable.
Module 4 β Parallel Work
The capstone: worktrees as mount points into one object database, and running several agents against the same repository without them colliding.
Supplements
Outside the numbered path β read when you need them: commit message conventions, working with more than one remote, and creating a GitLab remote from the command line.