explaingit

pcottle/learngitbranching

📈 Trending33,458JavaScriptAudience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Interactive browser game that teaches Git through animated visual diagrams. Type commands and watch your commit tree update in real time.

Mindmap

mindmap
  root((repo))
    What it does
      Animated Git commands
      Visual commit tree
      Level-based lessons
      Sandbox mode
    How it works
      Browser-based
      No installation
      Real-time visualization
      Built-in terminal
    Use cases
      Learn Git basics
      Understand branching
      Master rebasing
      Practice remote repos
    Tech stack
      JavaScript
      Gulp
      Yarn
    Audience
      Git beginners
      Intermediate developers
      Visual learners

Things people build with this

USE CASE 1

Learn Git fundamentals like commits, branches, and merges through interactive visual lessons.

USE CASE 2

Practice advanced Git operations like rebasing, cherry-picking, and remote repository workflows.

USE CASE 3

Experiment freely with Git commands in sandbox mode to build confidence before using Git on real projects.

USE CASE 4

Demonstrate Git concepts visually to teammates or students without needing to set up a test repository.

Tech stack

JavaScriptGulpYarnHTMLCSS

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose including commercial, as long as you keep the copyright notice.

In plain English

LearnGitBranching is an interactive, browser-based game for learning Git, the version control system used by nearly all software developers. Git is notoriously confusing for beginners, particularly because working with it on the command line gives you no visual sense of what is happening to your code history. LearnGitBranching solves this by turning every Git command into an animated visual: when you type a command, you can watch the commit tree update in real time, showing you exactly how branches, merges, and rebases transform your repository's history. The application works as a series of levels, each teaching a specific Git concept, from basic commits and branches up to more advanced topics like remote repositories and rebasing. As you type Git commands into the built-in terminal, the visual diagram responds dynamically. There's also a sandbox mode where you can freely experiment without structure, which is useful for trying out commands or demonstrating something to a colleague. A "git golf" feature tracks how many commands you used to solve each level, encouraging efficiency. You would use this when you are new to Git and want to build mental models of what commands actually do, or when you are an intermediate developer who wants to solidify your understanding of complex operations like cherry-pick, rebase, or working with remote repositories. It requires no installation, just a browser. Technically, it is a pure frontend JavaScript application with no backend server. The entire Git simulation logic runs in the browser. The build system uses Gulp and Yarn, and the output is a single HTML file plus some static assets. It can also be run locally or via Docker.

Copy-paste prompts

Prompt 1
I'm new to Git and confused about branches and merges. Walk me through how to use LearnGitBranching to understand these concepts visually.
Prompt 2
Show me how to use LearnGitBranching's sandbox mode to safely experiment with rebase and cherry-pick commands.
Prompt 3
I want to teach my team Git workflows. How can I use LearnGitBranching to demonstrate remote repository operations?
Prompt 4
Help me set up LearnGitBranching locally using Docker so I can run it offline for training sessions.
Prompt 5
What are the hardest Git concepts covered in LearnGitBranching's levels, and how does the visual approach make them easier to understand?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.