Git lessons · free · visual · interactive

Your first step to building confidence with Git

Git feels a lot less scary once you can actually see what it's doing. Build a repository from scratch, one level at a time, and watch every command play out until it all just clicks.

Built with git-sim, the visual layer for Git in your own repos.

RankNewcomer
0 xp
  1. 1 Level 1 Git overview What a coding project is, how people work on one together, and why they need a system to control the versions. 4 steps · about 8 min
  2. 2 Level 2 Init & config What a Git repository is, how Git commands work, and how to create and configure your first repository. 8 steps · about 10 min
  3. 3 Level 3 Add & commit Create and edit code files, add their changes to Git's staging area, and commit them onto pages of the scrapbook. 15 steps · about 22 min
  4. 4 Level 4 Log & status Use Git's log to see your commit history, and check the status of your working directory. 3 steps · about 6 min
  5. 5 Level 5 Clone & remote Make a copy of an existing repository, and link your original to it so the two can share pages. 6 steps · about 9 min
  6. 6 Level 6 Push & pull Push your local commits to a remote repository, and pull a friend's commits back into yours. 8 steps · about 12 min
  7. 7 Level 7 Branch & switch Create a new branch, switch between branches, and watch two storylines split apart. 14 steps · about 16 min
  8. 8 Level 8 Merge Merge one branch into another, and learn when Git creates a merge commit versus fast-forwarding. 6 steps · about 10 min
  9. 9 Level 9 Tag Tag commits to mark important points in your history, and remove a tag you no longer need. 4 steps · about 7 min
  10. 10 Level 10 Stash Stash uncommitted changes to clear your table, then bring them back when you are ready. 6 steps · about 9 min
  11. 11 Level 11 Restore Move a staged change back to the working directory, and discard changes you no longer want. 5 steps · about 8 min
  12. 12 Level 12 Revert Undo the changes from an earlier commit by adding a new commit that does the opposite. 5 steps · about 9 min
  13. 13 Level 13 Reset Repoint a branch marker to an earlier commit, and see what Git does with the changes that would be lost. 4 steps · about 9 min
  14. 14 Level 14 Rebase Transfer a whole branch of commits onto a new base commit, and learn why that rewrites history. 14 steps · about 16 min
  15. 15 Level 15 Detached HEAD Point HEAD at a commit with no branch, understand why it is useful, and get back out safely. 4 steps · about 9 min
  16. 16 Level 16 Remove & rename Remove a file Git tracks, rename another, and commit both so the history records them. 7 steps · about 10 min

Prefer to jump around?

Each topic gathers its levels, command pages, cheat sheets and articles in one place.

See all topics →

Then try it on your own repository

Every command in these levels can be run as git-sim <command> in your own project. It reads the repository, simulates the command without touching anything, and opens the same interactive graph you used here, drawn from your commits.

About git-sim