Lessons

Git Concepts

Select a concept to explore it with step-by-step animated graphs.

Snapshot your work and build history

stagingsnapshotshistory

Diverge, experiment, and stay safe

branchingisolationparallel work

Mark release points and milestones in history

taggingreleasesversioning

Shelve work-in-progress and switch context

stashcontext switchingwip

Combine diverged histories into one

mergingmerge commitsfast-forward

Move HEAD and undo commits safely

resetundoHEAD manipulation

Undo commits safely without rewriting history

undohistorysafe rollback

Replay commits for a cleaner history

rebaselinear historyreplaying commits

Copy specific commits across branches

cherry-pickselective mergingcommit copying

Binary search your history to pinpoint bugs

debuggingbinary searchhistory