Skip to content

· Skillz · Git

Git Untangle: free Git game to learn branches and merges

Branches everywhere, a merge conflict blocking the launch. Pick the right commands to ship clean.

What is Git Untangle?

Eight small repos, each with a goal: save a fix, ship a branch, pull before you push, park work with stash, rebase into a straight line, solve a merge conflict. Read the branch graph, pick the next real Git command, and watch the graph change.

Git Untangle is a free game to learn Git, the tool developers use to save and share code. Each round is a small repo with a branch graph and a goal: save a fix as a commit, bring a finished branch into main, pull a teammate's work before you push, park half-done work with stash, or get past a merge conflict on launch day.

Every step offers four commands and one is right. The graph updates as you go, so you see what a fast-forward, a merge commit or a rebase really does. Pick a wrong one and the game tells you what Git would answer, from "no upstream branch" to "push rejected". Every sequence in the game is real Git.

At a glance

Category
Skillz
Difficulty
Medium
Play time
3–5 min
Price
Free, in your browser, sign-up optional

How to play

Read the repo
The graph shows commits (newest on top), branches, HEAD and origin, the copy on GitHub. Below it: staged and changed files.
Pick the command
Four commands per step, one is right: status, add, commit, switch, merge, rebase, pull, push, stash… Keys 1 to 4 work too.
Learn from Git
A wrong command costs one of 3 lives and tells you what Git would really answer. Then try again.
Score
100 per first-try step, ×2 after 3 in a row, ×3 after 6. A round with no mistakes adds 50.

Scoring

Each step you get right on the first try is worth 100 points, ×2 after 3 in a row and ×3 after 6. A round with no mistakes adds 50.

A wrong command costs one of 3 lives and shows what Git would really answer; then you pick again. A run is 8 repos, from saving a fix to solving a merge conflict.

What it trains

Git basics
Status, add, commit, switch, pull and push: the commands of an ordinary day.
Branching and merging
When main fast-forwards, when Git makes a merge commit, and what rebase does to history.
Staying calm in a conflict
Reading a rejected push or a conflict, then fixing it step by step.

Strategy and tips

Read where HEAD is
Merges and commits land on the branch you're on. Switch first, then merge.
Add, then commit
git add picks the changes, git commit saves them. commit -a does both for files Git already tracks.
Pull before you push
If GitHub has commits you don't, push is rejected. Pull (or pull --rebase) first.
Stash, don't commit half work
git stash clears the folder so you can switch or pull; git stash pop brings your work back.
Conflicts are just a choice
Edit the file, keep the right lines, delete the markers, then add and commit.

Why play Git Untangle?

Git looks scary because one wrong command seems to break everything. In practice a handful of commands covers most days: status, add, commit, switch, merge, pull, push and stash. Practising them on a picture of the branches makes the mental model click, so the real terminal feels less like guessing.

Frequently asked questions

Is Git Untangle free?

Yes. It is free and runs in your browser, with no download. Signing up is optional.

Do I need to install Git?

No. Everything happens in the game; nothing touches your computer.

Are these real Git commands?

Yes. Every correct sequence works in real Git, and the wrong options say what Git would really reply.

What's the difference between merge and rebase?

Merge joins two branches, with a merge commit if both moved. Rebase replays your commits on top of the other branch, for a straight history.