Skip to main content

Learn Git Branching

Learn Git Branching is a git repository visualizer, sandbox, and a series of educational tutorials and challenges. Its primary purpose is to help developers understand git through the power of visualization (something that’s absent when working on the command line). Learn Git Branching Demo
You can input a variety of commands into Learn Git Branching - as commands are processed, the nearby commit tree will dynamically update to reflect the effects of each command.

Get Started

Quickstart Guide

Jump right in and start learning git commands

Sandbox Mode

Experiment freely with git commands in an interactive environment

Learning Levels

Progress through structured tutorials and challenges

Try It Now

Launch the application immediately

Key Features

Watch your git repository tree update in real-time as you execute commands. See branches, commits, and HEAD position visualized clearly.
The application launches in sandbox mode by default with a basic repository already created. Experiment with commands like git commit, git branch, git merge, and git rebase without fear of breaking anything.
Progress through a comprehensive sequence of levels organized into categories:
  • Introduction Sequence: Learn git commit, git branch, git merge, and git rebase
  • Ramping Up: Master git checkout, relative refs (^ and ~), and reversing changes
  • Moving Work Around: Practice git cherry-pick and interactive rebase
  • Mixed Bag: Explore git tag, git describe, and advanced techniques
  • Advanced Topics: Multiple parents, selective rebase, and complex scenarios
  • Remote Repositories: Work with git clone, git fetch, git pull, and git push
  • Remote Advanced: Push arguments, fetch arguments, and tracking branches
Simulate remote repositories with git clone to practice push, pull, and fetch operations in a safe environment.
Each level tracks how many commands you use to solve it. Challenge yourself to match optimal solutions and improve your git efficiency.
Made a mistake? Use undo to reverse your last command or reset to start fresh with a clean slate.

Why Learn Git Through Visualization?

This visualization combined with tutorials and levels helps both beginners and intermediate developers polish their version control skills. The interactive nature makes it easier to understand complex git concepts that are difficult to grasp from text alone.

From the README

“Branches in Git are incredibly lightweight as well. They are simply pointers to a specific commit — nothing more. This is why many Git enthusiasts chant the mantra: branch early, and branch often

Core Git Commands Covered

Learn Git Branching teaches you the essential git commands through hands-on practice:
  • Basic Operations: git commit, git branch, git checkout, git switch
  • Combining Work: git merge, git rebase
  • Moving Around: HEAD, relative refs (~, ^), git checkout
  • Reversing Changes: git reset, git revert
  • Moving Work: git cherry-pick, interactive rebase
  • Tracking Work: git tag, git describe
  • Remote Operations: git clone, git fetch, git pull, git push
  • Advanced Remote: Refspecs, tracking branches, push/fetch arguments

Ready to Start?

Quickstart

Get started with your first git commands

Launch Application

Open Learn Git Branching

Build docs developers (and LLMs) love