Learn Git Branching
An interactive web-based tutorial that visualizes Git commands and their effects on the repository history. It's excellent for understanding branching, merging, and rebasing in a hands-on way.
More resources on Git & Version Control
Oh Shit, Git!?!
One-page reference of recovery recipes for common Git mistakes: undoing commits, amending the last commit, moving commits to another branch, finding lost work with reflog, and fixing a diff that shows nothing, each with the exact commands and a short explanation. Fills the practical gap the conceptual resources leave: what to type when something goes wrong.
Git For Ages 4 And Up (linux.conf.au 2013)
Conference talk that models a Git repository with Tinkertoys, building the commit graph by hand while running commands such as commit, branch, merge, rebase, reset and push, so viewers see each command as an operation on the graph. Video learners get the commit-graph mental model concretely.
Git from the Bottom Up
Free short book explaining Git from its object model upward: blobs, trees, commits, branches as references, the index, rebasing versus merging, reset, and stashing, using plumbing commands to show what each operation changes in the repository. Goes deeper than Pro Git on the index, reset and rebase mechanics.
Version Control (Git) — The Missing Semester of Your CS Education
Best single-hour explanation of why Git commands behave as they do; the data-model-first approach prevents the cargo-cult usage that command-list tutorials produce. MIT lecture with notes and video that teaches Git bottom-up: the snapshot data model of blobs, trees and commits, the object store and references, then maps everyday commands, branching, merging and remotes onto that model. Includes exercises.