Save the workspace, including its staging state

Actions → Restore Points → Save point records HEAD, the staged/unstaged split, and non-ignored untracked files. A manual save leaves your changes in place and does not add a stash entry.

The app also creates points before supported resets, discards, pulls, and history rewrites. A failed snapshot prevents the destructive action. Saved points remain available until you delete them explicitly.

Restore into a new branch

Inspect a point’s label, branch, timestamp, and saved file status. Commit or stash current work until the workspace is clean, then choose Restore into new branch and review the confirmation.

Recovery checks out a branch at the saved HEAD and reapplies the recorded index and working files. The original branch and saved point remain available. If recovery stops, inspect the recovery branch before retrying.

Understand what a point includes

Ignored files, unsaved editor buffers, and files inside submodule working directories are excluded. Submodule revisions are recorded, but recovery does not recursively update their workspaces. A conflicted index cannot be snapshotted.

Points use local private Git refs and are excluded from the normal graph. Ordinary branch pushes do not publish them; a mirror push can include custom refs. Keep separate backups for files that Git does not track.

Find lost commits and inspect rewrites

The reflog shows local HEAD and reference movements, helping you find commits hidden by a reset, rebase, or deleted branch. Create a recovery branch at an entry to keep that commit reachable.

Rebase & Rewrite Comparison uses git range-diff to inspect old and new commit ranges. Git 2.19+ is required, merge commits are excluded, and matching is heuristic. A comparison explains what changed; a restore point provides a separate recovery path.