Skip to content

Public workshop12 quests · 3 levels · about 3 hours

Git good.

Learn git by fixing real repositories. HEAD the cat sets up a problem, you solve it with real git commands, and a checker tells you when you got it. From your first commit to merge conflicts, rebase, bisect, the reflog, and keeping AI agents in line.

~/git-good/05-merge-conflicts
$ quest start 5
/\_/\
( o.o ) main calls the cat Mittens. The rename branch
> ^ < calls her HEAD. Both changed the same line.
$ git merge rename
CONFLICT (content): Merge conflict in name.txt
$ cat name.txt
<<<<<<< HEAD
The cat is called Mittens.
=======
The cat is called HEAD.
>>>>>>> rename

The map is a git graph

Basics live on main. Each later level is a branch that forks off and merges back, exactly like the work you will do.

  • BasicsCommits, history, branches.
  • IntermediateConflicts, remotes, undo, stash.
  • AdvancedRebase, bisect, reflog, AI agents.

Your progress

0 of 12 quests done · kept in this browser only

  1. 01Hello, HEAD12m
  2. 02Stage and commit12m
  3. 03Time travel15m
  4. 04Branches15m
  5. 05Merge conflicts15m
  6. 06Remotes and the GitHub flow15m
  7. 07Undo anything15m
  8. 08Stash and switch12m
  9. 09Rewrite history18m
  10. 10Find the bug with bisect15m
  11. 11The reflog saves you12m
  12. 12Git and AI agents18m

How a quest works

  1. step 1quest start 5HEAD builds a real repository with a real problem, in ~/git-good.
  2. step 2git ...You fix it with real git. Status, diff, merge, rebase: whatever it takes.
  3. step 3quest checkEvery line says PASS, and HEAD purrs. Stuck? quest hint.

Meet HEAD

In git, HEAD points at the commit you are on. Our HEAD is a small cat who always knows where you are. She sets up every quest, checks your fix, and lives in the corner of this page. Tap her when you are stuck: her answers are short, fixed and true.

Start in a minute

You need git and uv. The quest command builds every quest for you.

git clone https://github.com/jars-demo/git-demo.git
cd git-demo/lab
uv tool install --editable .
quest start 1