A hands-on Git course: git log, switch, merge, cherry-pick, revert, rebase and interactive rebase, one visual puzzle at a time.
GitGud runs in your browser and needs JavaScript turned on to play.