Vous construisez une UI de cart depuis deux jours. Votre coéquipier a pushé un refactor du même fichier. Dans Git, ça veut dire git fetch, git rebase, résoudre les conflits, git rebase --continue, git push. Dans jj, vous committez 1 conflit sur 3, et les 2 autres se rebasent proprement au-dessus — et vous pouvez continuer à bosser sur autre chose pendant que le conflit attend.
Voyez la situation : jj log
Votre travail est dans « Add cart UI » (change ID commençant par wconf03). Entre-temps, quelqu'un a refactoré le même fichier sur main — c'est « main refactor » (wconf02). Ils ont changé les mêmes lignes. Un conflit arrive.
● Voyez la situation : `jj log`
○ Rebasez votre travail sur le main mis à jour : `jj rebase -s wconf03 -d wconf02`
○ Pas de panique — vérifiez le statut : `jj status`
○ Éditez `src/cart.ts` — gardez `render()` et le `total()` corrigé, retirez les marqueurs — puis lancez `jj resolve src/cart.ts`
○ Vérifiez : `jj log`
🧩 The Abandoned ExperimentNon résolu
📖 Histoire
You spent three hours refactoring the auth module last Tuesday. It was risky so you jj abandoned it and moved on.
Now your lead says the refactor is exactly what the team needs — ship it by end of day.
The change "WIP: auth refactor" is gone from jj log. Meanwhile, three more changes have landed on main since then.
You need to:
1. Find the abandoned change in the operation log
2. Restore the state before the abandon
3. Rebase it on top of current work (wcurrent02)
4. Give it a proper description — no more "WIP"
Objectif
jj log -r 'all()' doit :
contenir « auth refactor »
ne pas contenir « WIP »
Terminal jj
🧩 Problem: The Abandoned Experiment
Recover an abandoned change buried deep in the operation log, rebase it onto current work, and describe it properly.
Use the terminal to solve the problem. jj log -r 'all()' will be checked automatically.