No add. No stash. No lost work.

Jujutsu runs on your existing Git repo with a different model: your working copy is a commit, everything you rewrite rebases itself, and every operation can be undone. Below is a working jj in your browser, on the same platform-infra repo as the Git playground.

01

Eight things that work differently than in Git

jj is not different syntax for Git; it is a different model on top of the same storage. Once these eight click, the rest is a matter of jj help. Click a card to open it.

This playground follows jj around version 0.3x. jj moves fast and renames things now and then: what used to be branch is now bookmark, obslog became evolog, and jj git push has started requiring --allow-new for a new bookmark. When something differs, check jj help <command> for your version.

02

The commands you will actually use

Roughly a dozen commands cover almost every day. The full translation table lives at the bottom of this page; these are the ones worth putting in your muscle memory. Click one to drop it into the terminal.

03

The playground

The same repo as the Git playground: some Terraform and a deployment manifest. There is no staging area and no jj add here — every command snapshots your working copy into @ first. Type commands or click a suggestion.

terminal — ~/platform-infra
~/platform-infra $

Changes

no repo
No jj repo yet. Start with jj git init --colocate.

working copy files

does not exist

staging area

jj snapshots your files itself, on every command. There is nothing to stage.

@ (working-copy commit)

No remote yet. Try jj git remote add origin ...

Missions

0/12
04

Hands-on tutorial

Ten steps that take you through a full day of jj, from an empty repo to a pushed bookmark and a resolved conflict. Each step runs in the terminal above and ticks itself off when the repo reaches the right state. Read the note before you click — the point is what happens, not the typing.

Step by step

0/10
05

When things go wrong

The shortest summary of this entire section is jj undo. But there are a few situations you did not have in Git and will run into here.

06

Do you have it?

Eight questions about the model, not about the flags.

07

jj ↔ git

Search for what you would do in Git ("stash", "amend", "cherry-pick", "reflog") and read what it is in jj.