TUI Guide¶
Pigit's primary interface is a terminal UI. Four core panels plus stash, diff detail, and global overlays cover everyday Git work.
Quick lookup
Press ? in any panel, or open the Keyboard Reference for a printable table.
Panels¶
| Panel | Keys | What you can do |
|---|---|---|
| Status | 1 | Stage / unstage / discard / ignore; inline commit; visual multi-select; tree view; side diff preview |
| Stash | 2 | Apply, pop, drop; diff preview |
| Branch | 3 | Checkout, create, merge, rebase, rename, delete; log graph preview; open PR page |
| Commit | 4 | Browse log; cherry-pick; another ref's history; contribution graph |
Navigation¶
| Key | Action |
|---|---|
| J / K, Up / Down | Move selection |
| Enter | Select / open |
| Tab / Shift+Tab | Cycle panels |
| I | Inspector sheet for the current selection |
| Ctrl+P | Toggle side preview (Status/Stash diff or Branch log graph) |
Click a header tab slot to open an anchored panel picker. Click the repo name to switch managed repositories.
Status panel¶
| Key | Action |
|---|---|
| A | Stage file or visual selection |
| Shift+A | Stage all listed files |
| D | Discard |
| I | Ignore (add to .gitignore) |
| C | Inline commit editor (requires staged files) |
| Shift+C | Commit via external $EDITOR |
| M | Amend HEAD with staged changes |
| S | Stash with optional message (includes untracked) |
| V / Shift+V | Visual multi-select / visual scroll |
| Space | Toggle row (visual mode) |
| / | Filter files |
| Ctrl+T | Tree / flat layout |
| Y | Copy file path |
Commit editor¶
Opened with C when files are staged:
- Edit subject on the first line; body below the blank line.
- The lint bar flags common issues (empty subject, overlong line).
- Submit with Enter or cancel with Esc.
Diff viewer¶
Open from Status (Enter) or full-screen on wide layouts.
| Key | Action |
|---|---|
| H | Toggle hunk mode |
| S / D | Stage / discard hunk (hunk mode) |
[ / ] |
Previous / next hunk |
| , / . | Previous / next file in commit |
| V | File history (commit diffs) |
| P / N | Older / newer commit (file history) |
| Esc | Close |
Word-diff and syntax highlighting follow [app] word_diff in config.
Stash panel¶
| Key | Action |
|---|---|
| Enter | View stash diff |
| A | Apply (keep in list) |
| P | Pop |
| D | Drop (confirm) |
Push stash from Status with S (message prompt).
Commit panel¶
| Key | Action |
|---|---|
| C | Cherry-pick onto HEAD |
| O | Show another branch's log |
| Z | Toggle expanded commit rows |
| Ctrl+R | Toggle contribution graph (tall layouts) |
| / | Filter by message or SHA |
| Y | Copy SHA |
Branch panel¶
| Key | Action |
|---|---|
| Enter | Show commits (no checkout) |
| C | Checkout |
| N | New branch |
| M | Merge current into selected |
| R | Interactive rebase onto selected branch |
| Shift+R | Rename |
| D | Delete |
| P | Open create-PR URL |
| Ctrl+F | Cycle local / remote / all |
Rebase sheet¶
Branch R opens the todo editor before git runs:
- Shift+J / Shift+K reorder commits
- P / S / F / R / E / D set pick / squash / fixup / reword / edit / drop
- Enter confirm
Undo and recovery¶
| Key | Action |
|---|---|
| U | Reverse the most recent session action (with confirmation) |
| Shift+U | Browse the undo stack |
Undo covers staging, checkouts, merges, rebases, cherry-picks, and other
recorded HEAD moves. When nothing is available, the toast suggests
; reflog — see Workflows.
Multi-repo, worktree, bisect¶
| Feature | How to open |
|---|---|
| Repo switcher | Click header repo name or @ |
| Worktrees | Switcher → W → + / - to add/remove |
| Bisect | B → S start, G / B mark, R reset |
Bisect and sequencers (merge/rebase/cherry-pick) are mutually exclusive.
Help and welcome¶
- First run: Welcome sheet with panel map and core keys.
- Any time: ? opens the Help browser — click a row to select, double-click to run that binding.
TTY required
The TUI does not launch in CI pipelines, scripts, or when stdout is piped. See Troubleshooting.