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.