Undo your Git actions.Keep your momentum.
Staged the wrong changes? Committed too soon? Press ⌘Z to step back and keep going.
Undo history
0 of 3 actions completed
Stage selected lines
src/UndoManager.swift
Commit changes
Add recovery flow
Create branch
feature/undo
Apply an action to see it enter the undo history.
Undo in Commit+
Files & staging
Move changes between your working tree and index without losing the path back.
- Stage and unstage files
- Stage and unstage individual hunks
- Stage and unstage selected lines
- Discard or remove files, then restore them from a snapshot
Undo in Commit+
History operations
Try a history operation, then step back cleanly when the result is not what you wanted.
- Undo commits and squash operations
- Reset HEAD with the right safety checks
- Undo cherry-pick, merge, rebase, revert, and checkout
Undo in Commit+
Branches & remotes
Branch and remote actions keep a reversible entry in the same Git-aware history.
- Create, delete, and rename local branches
- Undo pull and publish/push operations
- Restore upstream tracking when a branch is recreated
Undo in Commit+
Stashes
Stash changes to switch context, then undo the stash action as a single step.
- Save working tree changes
- Undo apply, pop, and drop stash actions
- Restore the original stash payload when possible
Undo in Commit+
Git Flow & worktrees
Undo Git Flow Start and Finish flows, including linked worktree creation.
- Undo Start in the current working copy
- Remove and recreate Git Flow worktrees
- Reverse Finish merges, tags, and source-branch changes
Undo with guardrails.
Commit+ checks your repository before recovery. If its state has changed, the action stays in your Undo history with an explanation.
Cmd-Z stays in context.
Undo Git actions with ⌘Z. Text and conflict edits keep their own undo history, so the shortcut follows your current context.