Repolode
pcottle

pcottle/learnGitBranching

An interactive, browser-based git visualizer and tutorial that shows how commands change the commit tree as you type them.

Stars
34,187
Forks
6,033
Open issues
54
Last commit
yesterday

What is it?

LearnGitBranching is a git repository visualizer, sandbox, and set of tutorials and challenges. It draws the commit tree and updates it as each command runs, so you can see what branch, merge, rebase, or reset actually does to the history, which is hard to picture when working only in a terminal.

The app opens in a sandbox mode with a ready-made repository where you can experiment freely, with commands such as undo and reset to recover. Its levels are organized into tabs covering concepts like local versus remote repositories, and each level records how many commands you used, with a "git golf" challenge to beat the fewest.

The application is a purely client-side JavaScript app built with Vite, with no backend or database, and can also be run locally, built for production, or started through Docker.

Key features

  • 01Visualizes the commit tree and updates it live as each git command executes.
  • 02Includes a sandbox mode with undo and reset for free experimentation.
  • 03Provides tiered levels covering local and remote repository concepts.
  • 04Tracks command counts per level with a "git golf" challenge.
  • 05Lets users build custom levels and share them via JSON or gist links.
  • 06Runs entirely in the browser with no backend.

Use cases

  • Learning git branching, merging, and rebasing for the first time.
  • Practicing for intermediate git skills through graded challenges.
  • Demonstrating how a git command changes history to a teammate.
  • Creating custom git exercises for a workshop or course.

Quick start

  1. 1

    Open the app in your browser without installing anything

  2. 2

    Or run the most recent stable image with Docker

    docker run -p 8080:80 ghcr.io/pcottle/learngitbranching
  3. 3

    Then visit http://localhost:8080/ in your browser

In collections

Topics

FAQ

What is learnGitBranching?
An interactive, browser-based git visualizer and tutorial that shows how commands change the commit tree as you type them. LearnGitBranching is a git repository visualizer, sandbox, and set of tutorials and challenges. It draws the commit tree and updates it as each command runs, so you can see what branch, merge, rebase, or reset actually does to the history, which is hard to picture when working only in a terminal.
Is learnGitBranching free to use? What license does it have?
learnGitBranching is open source under the MIT license. Check the license terms before using it in commercial products.
Is learnGitBranching still maintained?
Actively maintained. The last commit to learnGitBranching was on Nov 5, 2026.
What can I use learnGitBranching for?
Learning git branching, merging, and rebasing for the first time. Practicing for intermediate git skills through graded challenges. Demonstrating how a git command changes history to a teammate. Creating custom git exercises for a workshop or course.
How do I install learnGitBranching?
Open the app in your browser without installing anything Or run the most recent stable image with Docker: docker run -p 8080:80 ghcr.io/pcottle/learngitbranching Then visit http://localhost:8080/ in your browser
Where can I get learnGitBranching?
The source code and installation instructions are on GitHub: https://github.com/pcottle/learnGitBranching

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects