8 parts · 8 chapters
Git, Unix and the Shell
The tools every engineer uses daily and few were taught. Git stops being magic once you see that a commit is a small text file named by its own hash: in this course's demo repository, git hash-object and shasum over "blob 6\0hello\n" printed the same 40 characters, ce013625….
Eight parts: Git internals (objects, refs, packfiles); merges, rebases and history surgery; the Unix philosophy; shell scripting properly (strict mode, quoting, traps); pipes and processes; text tools (grep, sed, awk, jq, sort, uniq); SSH (keys, agents, config, tunnels); and make and task runners.
git objectsBlobs, trees, commits and tags, all content-addressed.
historyMerge, rebase, cherry-pick, bisect, reflog: and how to undo.
philosophySmall tools, text streams, composition.
shellScripts that fail loudly and quote correctly.
textOne-liners that answer questions about logs and data.
remoteSSH keys, config, agent forwarding risks, tunnels.
00
Git Internals: Objects, Refs, Packfiles
Look inside a real repository
1 ch · ~8 min01Merges, Rebases and History Surgery
Rewrite safely, recover anything
1 ch · ~8 min02The Unix Philosophy
Composition in practice
1 ch · ~8 min03Shell Scripting Properly
A script template
1 ch · ~8 min04Pipes and Processes
Plumbing
1 ch · ~8 min05Text Tools
Questions answered in one line
1 ch · ~8 min06SSH
Keys, config and tunnels
1 ch · ~8 min07make and Task Runners
A project Makefile
1 ch · ~8 minFor programmers without a CS degreeNo prerequisites; complements the C course (processes, pipes) and Merge Reviews (history hygiene).