Skip to main content

Git Masterclass

Git is not complicated, but it is unfamiliar. Most people learn it as a list of commands to run in a particular order, which works until the day it does not — and then there is no model to reason from.

This curriculum teaches the model first and the commands as consequences of it.

Choose a starting point

00

Orientation

How the curriculum works and how to set up a practice environment.

FoundationalNo prior Git experience assumed beyond the previous lesson.
01

Foundations

What a repository is, what Git stores and why snapshots beat diffs.

FoundationalNo prior Git experience assumed beyond the previous lesson.
02

Recording changes

The working tree, the index and the commit — the daily loop.

FoundationalNo prior Git experience assumed beyond the previous lesson.
03

Branching and merging

Branches as pointers, merge strategies and conflict resolution.

IntermediateAssumes comfort with commits, branches and remotes.
04

Remotes and collaboration

Fetch, pull, push, refspecs and remote-tracking branches.

IntermediateAssumes comfort with commits, branches and remotes.
05

History and rewriting

Rebase, cherry-pick, revert, reflog and the rules for rewriting.

AdvancedAssumes fluency with history rewriting and team workflows.
06

Workflows

Trunk-based, GitHub Flow, Git Flow and how to choose.

IntermediateAssumes comfort with commits, branches and remotes.
07

Code review and teams

Pull requests, commit hygiene and review practice.

IntermediateAssumes comfort with commits, branches and remotes.
08

Internals

Objects, refs, packfiles and the plumbing beneath the porcelain.

ExpertTouches Git internals, plumbing commands or recovery scenarios.
09

Automation and CI

Hooks, signing, CI triggers and release pipelines.

AdvancedAssumes fluency with history rewriting and team workflows.
10

Troubleshooting

Recovery playbooks for the things that actually go wrong.

AdvancedAssumes fluency with history rewriting and team workflows.
11

Advanced topics

Submodules, worktrees, sparse checkout, LFS and huge repositories.

ExpertTouches Git internals, plumbing commands or recovery scenarios.

Looking something up?

How the material is structured

Every lesson follows the same shape, so you always know where to find things:

  1. Metadata and objectives

    Estimated time, difficulty level, prerequisites, and an explicit statement of what you will be able to do afterwards.

  2. The idea

    The concept, explained before any command is typed.

  3. Hands-on

    Commands you run yourself, with the exact output you should see, punctuated by checkpoints so you never drift silently out of the expected state.

  4. Practice and recall

    Exercises with progressive hints, and short self-check questions.

Contributing

This curriculum is written in the open and is licensed CC BY-SA 4.0. The authoring handbook, the style rules and the review checklist all live in the Contribute section.