Skip to content

Uncommitted & staging

Enter on the top row of the commit list opens the Uncommitted view. Three side-by-side panels:

Panel What
Unstaged Modified / deleted files in the working tree.
Staged Files in the index ready to be committed.
Untracked New files not yet tracked.

← / → switch between panels, ↑ / ↓ move the cursor within a panel.

Uncommitted view, Unstaged / Staged / Untracked panels with a ⚠ conflict badge

Press Action
a Stage the focused file (or open the conflict editor for unmerged files).
Shift+A Stage every unstaged + untracked file.
u Unstage the focused file (Staged panel).
Shift+U Unstage every staged file.
x Discard an unstaged change (with confirmation).
Shift+X Discard every unstaged + staged change.
v Clean (delete) an untracked file.
  1. Enter on a file → opens the interactive diff for that file.
  2. Cursor moves between hunks with ↑ / ↓.
  3. Press Enter on a hunk to stage (or unstage) just that hunk exactly what git add -p does, but visual.
  4. The hunk migrates Unstaged → Staged live; refresh the side panels with r if you opened other tools in parallel.

Hunk-level staging, multi-hunk file, Enter on a hunk moves it from Unstaged to Staged

Press Action
w Open the commit message editor, multi-line, supports Ctrl+H / Ctrl+W word-delete and Ctrl+Enter / Ctrl+S submit.
i Stash the working tree (with optional message + include-untracked flag dialog).

Unmerged files (the result of a paused merge, rebase or cherry-pick) show a ⚠ N conflict(s) badge on the row. a on such a file opens the conflict editor, pick OURS / THEIRS / BOTH per hunk and save.