Skip to main content
Version: 0.4.x

Keybindings Reference

This page lists all available keybindings in Gitti, organized by context and scenario.

Legend​

  • * = Global keybinding (works in all contexts when NO popup is open)
  • * [!!] = Global keybinding that works even when a popup is open

Global Keybindings​

KeyMarkerActionNotes
ctrl+c* [!!]Quit GittiForce quit, works even in popups
-*Decrease Panel WidthShrinks the left panel
+*Increase Panel WidthExpands the left panel
ctrl+s* [!!]Stage All FilesStages all modified files
ctrl+u* [!!]Unstage All FilesUnstages all staged files
ctrl+g* [!!]Open Author's GitHubOpens browser to author's GitHub
ctrl+l* [!!]Open Author's LinkedInOpens browser to author's LinkedIn
q or Q*Quit GittiOnly works when NO popup is open
?*Open Global Keybindings HelpShows all keybindings in a popup
C*Continue OperationUniversal continue (rebase, merge, cherry-pick)
ctrl+a*Abort OperationUniversal abort (rebase, merge, cherry-pick)

Component Navigation​

KeyActionNotes
1Focus Local Branches PanelSwitches focus to branch list
2Focus Modified Files PanelSwitches focus to file list
3Focus Commit Log PanelSwitches focus to commit log
4Focus Stash PanelSwitches focus to stash list
/Focus Log Component PanelSwitches focus to application logs
tabCycle Forward Through ComponentsMoves to next panel
shift+tabCycle Backward Through ComponentsMoves to previous panel

List Navigation​

KeyContextAction
↑ or kIn any list panelMove up / Select previous item
↓ or jIn any list panelMove down / Select next item
↑ or kIn popup selection listsNavigate to previous option
↓ or jIn popup selection listsNavigate to next option

Detail Panel Scrolling​

KeyActionContext
↑ or kScroll upWhen in Detail Component
↓ or jScroll downWhen in Detail Component
← or hScroll leftWhen in Detail Component
→ or lScroll rightWhen in Detail Component

Local Branches Panel​

KeyActionWhen
nCreate New BranchOpens branch creation flow
enterSwitch to Selected BranchOpens switch branch popup if needed
dDelete Selected BranchDeletes branch (opens confirmation if needed)
rRename Selected BranchOpens rename input popup

Modified Files Panel​

KeyActionWhen
spaceToggle Stage/UnstageToggles file between staged and unstaged
eEdit FileOpens file in external editor/terminal
enterView File DiffShows diff in detail panel
rResolve ConflictOpens conflict resolution options (only appears for conflicted files)
dDiscard ChangesOpens discard confirmation flow
sStash Selected FileOpens stash message input popup
SStash All FilesOpens stash message input popup
cCommitOpens commit popup
AAmend CommitOpens amend commit popup

Commit Log Panel​

KeyActionNotes
rReset Selected CommitOpens Reset options (Soft/Mixed/Hard)
RReset Latest CommitOpens Reset options for HEAD (Soft/Mixed/Hard)
ctrl+pCherry Pick ModeEnter cherry pick selection mode
enterView Commit DetailShows commit diff in detail panel

Stash Panel​

KeyActionWhen
spaceApply StashApplies stash but keeps it in list
backspacePop StashApplies stash and removes from list
dDrop StashPermanently deletes stash

Logging Panel​

KeyActionNotes
eExport LogExports log content to Downloads folder

Remote Operations​

KeyActionWhen
pPushOpens push flow (remote selection → push options)
PPullOpens pull flow (pull type selection)

Text Input Popups​

Applies to: Commit, Amend Commit, Add Remote, Create Branch, Stash Message

KeyActionNotes
ctrl+eSubmitSubmits the form (used for multi-line text areas)
ctrl+pPastePastes text from clipboard
ctrl+yCopyCopies selected text to clipboard
enterSubmitFOR single-line inputs only (branch name, stash message, remote fields)
escCancelCloses popup without saving
tabNext FieldMoves to next input field (if multiple fields exist)
shift+tabPrevious FieldMoves to previous input field (if multiple fields exist)

Selection Popups​

Applies to: Branch Type, Switch Type, Push Type, Pull Type, Remote Selection, Discard Type, Resolve Conflict Type

KeyActionNotes
↑ or kNavigate UpSelect previous option
↓ or jNavigate DownSelect next option
enterConfirm SelectionProceeds with selected option
escCancelCloses popup without action

Output/Result Popups​

Applies to: Push Output, Pull Output, Switch Branch Output

KeyActionNotes
escClose PopupDismisses the output popup

Keybinding Help Popup​

KeyActionNotes
↑ or kScroll UpScroll through keybinding list
↓ or jScroll DownScroll through keybinding list
escClose HelpClose the help popup

Detail View (Right Panel)​

KeyActionNotes
escReturn to ListExits detail view, returns focus to list panel
↑ or kScroll UpScroll diff content up
↓ or jScroll DownScroll diff content down
← or hScroll LeftScroll diff content left
→ or lScroll RightScroll diff content right
[Previous Split PanelToggle to Staged/Unstaged view
]Next Split PanelToggle to Staged/Unstaged view
LToggle Line EditingEnter/Exit individual line editing mode (when viewing file)
spaceStage/Unstage LineStage/Unstage selected line (in Line Editing mode)
dDiscard LineDiscard selected line (in Line Editing mode)

Summary​

  • * [!!] keybindings work everywhere, including inside popups
  • * keybindings work globally but NOT when a popup is open
  • Context-specific keybindings only work in their respective panels
  • Popup keybindings depend on popup type (text input vs selection vs output)
  • esc is the universal way to close popups or exit detail view