Learn Git by running real commands in a browser terminal. A free, hands-on path from your first commit to branching, merging, and fixing the problems that go wrong in real work, with nothing to install.
Git is easiest to learn by doing. This page is a free, hands-on Git tutorial where you run real Git commands in a browser terminal and watch the repository change after every one. There is nothing to install and no account to create.
A path from your first commit to real trouble
The Git lessons follow an order you can take from zero:
- What is Git?: version control explained before you touch a command
- Git Basics:
init, add, commit, and reading the log
- Git Branching: branches,
diff, checkout, and moving through history
- Git troubleshooting: the situations that actually break at work: undoing a commit, resolving a merge conflict, committing to the wrong branch, recovering lost commits, and more.
Every lesson is a mission checked against the actual state of the repository, not a multiple-choice quiz. Browse them all on the tutorials list.
Real Git, not a pseudo-simulation
The terminal implements the real git workflow: commits with real hashes, branches, merges, rebases, conflict markers, reflog, and stash all behave the way they do on a real machine. That is the difference from watered-down "learn Git" toys: what you practise here is exactly what you will type at work.
Just want a repository to experiment in? Free Play gives you the same terminal as an open sandbox.
Safe to break
Everything runs in a virtual repository inside your browser tab. Force-push, hard-reset, delete a branch, cause a conflict on purpose: mistakes cost nothing, and reloading the page gives you a clean repository. That safety is what lets you practise the scary commands until they are no longer scary.