Skip to content

TUI Guide

Pigit's primary interface is a terminal UI. Four core panels plus stash, diff detail, and global overlays cover everyday Git work.

pigit TUI demo
Status, diff, commit editor, and branch operations.

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
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:

  1. Edit subject on the first line; body below the blank line.
  2. The lint bar flags common issues (empty subject, overlong line).
  3. 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.