# gitgud > A playful, browser-first playground for learning Git by doing. gitgud simulates a real Git object model — working directory, staging area, the commit DAG, branches, HEAD, a remote, stash — and visualizes it as a live commit graph, with interactive lessons, a guided tour, and EN/PT-BR support. No backend; everything runs and persists in the browser. ## What it simulates - **Snapshots**: `init`, `add`, `commit`, `status`, `log` (`--oneline`), `diff` (`--staged`). - **Branching & merging**: `branch`, `switch`/`checkout` (`-c`/`-b`), `merge` — fast-forward, 3-way auto-merge, and real conflicts (with `<<<<<<<` markers and the resolve → `add` → `commit` loop). - **Undoing**: `restore` (and `--staged`), `reset` (`--soft`/`--mixed`/`--hard`), `revert`. - **Remotes**: `clone` (seeds a sample repo with history), `push`, `fetch`, `pull`, remote-tracking refs (`origin/main`). - **Power tools**: `stash` / `stash pop`, `tag`, `config`. It's a teaching simulator, not real Git — unsupported usage fails loudly so beginners don't learn the wrong thing. ## Lessons Five chapters — basics, branching & merging, undoing, remotes, power tools — each explaining what a thing is for, why it matters, an analogy, and the caveat, plus comparisons (switch vs checkout, reset vs revert, fetch vs pull). A live per-step checklist, sequential unlocking, points, a first-visit guided tour, and per-chapter spotlights. ## Contact - GitHub: https://github.com/axeforging/gitgud - Website: https://gitgud.axeforge.io