Git
Your agent force-pushed.
Now get the work back.
Git is the one tool where an AI agent can put you somewhere you cannot get out of. This runs a real Git object model in your browser, so the commit graph you are rescuing is genuinely there — and so are the commands that rescue it.
Free, no account, no backend. Your progress never leaves this browser.
The Recovery track
Every drill is a real disaster, and every fix is a real command. Not an animation of one.
git reset --hardAn hour of work gone from the branch — but not from the object store.
git push --forceA teammate's commits overwritten on the remote, and nobody told them.
git rebase -iForty commits squashed into one, abandoned halfway through.
git commit .envA secret in the history, reachable from every clone.
Why this one is different
A real object model
Blobs, trees, commits and tags, content-addressed by SHA-1 exactly as git does it. Commands are pure functions over a repository, so every id you see is one real git would have produced.
Graded on the repository, not the keystrokes
A drill passes when the repository structurally reaches the target state — whichever route you took to get there. When it does not, you are told what is actually wrong, not that a hash mismatched.
Recovery is the point
Because the graph is real, so is the way out. The reflog holds what you moved off, fsck finds what nothing points at, and gc genuinely prunes — so learning that it is sometimes too late means something.