Skip to content
Version ControlBeginnerv2.5x

Learn Git

Track every change, and undo any of them

A guide built around the one thing most Git tutorials skip: the object model. Understand what a commit actually is and the scary commands stop being scary.

Chapters
7
Total time
~110 min
Level
Beginner

The curriculum

Written to be read in order. Each chapter assumes the one before it.

  1. Why Git feels confusing (and the fix)Git is not hard because the commands are hard. It is hard because almost nobody explains what a commit actually is. Ten minutes on the data model saves you years of cargo-culting.4 min read
  2. Installing and configuring Git properlyInstall Git, then spend five minutes on the configuration that prevents a surprising share of the problems people hit later — line endings, default branch, editor, and safe defaults for pull.3 min read
  3. Branches, merges and the commit graphBranching, merging and rebasing explained as what they are — operations on a directed graph of snapshots. With that picture, choosing between merge and rebase becomes obvious.4 min read
  4. A full cycle, from init to merged pull requestWork through one complete feature the way it happens on a real team — branch, commit, rebase, push, review, merge — with the graph state shown at each step.4 min read
  5. The commands you will use every dayThe working set of Git commands, grouped by what you are trying to do rather than alphabetically, with the ones worth learning properly flagged.5 min read
  6. The mistakes that fill Stack OverflowCommitting secrets, force-pushing over a colleague, detached HEAD, giant binaries. What causes each one, how to get out of it, and how to stop it happening again.4 min read
  7. Getting out of troubleA lookup table for "I am in a bad state and do not know how I got here", plus the three commands that recover almost anything.4 min read

Tell us which guide to write next

One email a month when a new guide ships. Nothing else.

We never share your address. Unsubscribe in one click.