Course index
Two goals: never lose solo work, and collaborate in a shared repo without fear. Every lesson traces back to one of them.
Where changes actually live — working directory, staging area, repository — and why git status stops being noise.
Snapshot plus a parent pointer. A branch is just a movable label. The graph model that makes every undo command predictable.
commit object · snapshot vs diff · parent · branch · HEAD · SHA Lesson 03 · solo safetyEvery "I made a mistake" fix, sorted by which tree or pointer it touches. The lesson that kills the panic.
restore · --amend · reset soft/mixed/hard · revert · reflog Lesson 04 · team collaborationThe two — and only two — kinds of merge: fast-forward when main hasn't moved, a three-way merge commit when it has. Predict which you'll get before you run it.
A conflict is Git refusing to guess when both sides touch the same lines. Read the markers, edit to the result, add + commit — or --abort to bail.
A remote is just more pointers, living on a server. origin/main is your cached bookmark of where the server was. Push a branch, open a clean PR, read the shared graph cold.
Canonical definitions used across all lessons, plus a CLI ↔ VS Code mapping table. Print this one.
| File | What it holds |
|---|---|
| MISSION.md | Why you're learning Git. Grounds every teaching decision. |
| RESOURCES.md | Trusted sources — Pro Git, Learn Git Branching, communities. |
| NOTES.md | Your preferences and the teaching notes behind them. |
| learning-records/ | What's been established — drives what gets taught next. |