Skip to content

Staging & Committing

ichi’s staging workflow lets you build a commit at whatever granularity you need: whole files, individual hunks, or hand-picked lines.

The single-file diff with a selected line highlighted for staging

Press s from the graph to open Status. It lists your changed files, separated into unstaged and staged.

KeyAction
j / kMove between files
SpaceStage / unstage the selected file
aStage all changes
uUnstage all
dOpen the diff for the selected file
TabSwitch between staged and unstaged
cCommit

The :w command also stages all changes in one step.

For a focused review, the staging workflow puts your unstaged and staged file trees side by side with a live diff preview: move through the files on the left and see each one’s changes on the right.

For surgical commits, press d to open the diff, then stage at a finer grain — by hunk or by hand-picked lines:

A commit diff rendered in ichi

KeyAction
j / kMove by line
J / KMove by hunk
sStage the current hunk
SpaceSelect a line
EnterStage the selected lines
uUnstage

This is how you split a messy working tree into clean, focused commits without dropping to git add -p.

Once you’ve staged what you want, press c to open the commit dialog. Type your message and press Enter to confirm, or Esc to cancel.

In a hurry to commit and leave? :wq stages everything, opens the commit dialog, and quits when you’re done.