Git
Three trees, a graph of immutable snapshots, and a handful of pointers — every command explained as a move on that structure, with animations
Git Crash Course
The three trees, content addressing, branches as pointers, staging with
add -p, the four diffs, restore/reset/revert, merging and conflicts, rebase
and the golden rule, interactive rebase, stash and cherry-pick, remotes, reflog and
bisect.
Git Detailed Course
Forty sections: the object database, trees and commits, the index, refs and reflog,
archaeology, merge strategies and drivers, rebase --onto, refspecs, tags,
hooks, bisect, worktrees, submodules, LFS and partial clone, packfiles and gc, signing
and scrubbing secrets.