Skip to main content
Version: 0.7.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)
ctrl+f*Fetch AllManual fetch all
b*Git BlameOpens the blame popup for any tracked file

Component Navigation​

KeyActionNotes
1Focus Local Branches PanelSwitches focus to branch list
2Focus Modified Files PanelSwitches focus to file list
3Focus Commit Log / RefLog PanelSwitches focus to commit log / reflog
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
< / >Switch Component PanelSwitches between Local Branches, Tags, Remotes
nCreate New BranchOpens branch creation flow
enterSwitch to Selected BranchOpens switch branch popup if needed
dDelete Selected BranchDeletes branch (opens confirmation if needed)
rRebase onto Another BranchChecked-out branch only; supports --autostash
mMerge Branch into CurrentOpens multi-branch merge selector

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
< / >Switch to RefLogToggle between Commit Log and RefLog
rReset Selected CommitOpens Reset options (Soft/Mixed/Hard)
RReset Latest CommitOpens Reset options for HEAD (Soft/Mixed/Hard)
ctrl+rRevert CommitOpen Revert options for commit
tCreate TagOpen tag creation menu
ctrl+pCherry Pick ModeEnter cherry pick selection mode
iInteractive RebaseOpens interactive rebase operation selector
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

RefLog Panel​

KeyActionNotes
< / >Switch to Commit LogToggle between RefLog and Commit Log
↑ / kMove to Previous Entry
↓ / jMove to Next Entry
enterView Entry DetailShows entry info in detail panel
nCreate New Branch from EntryPre-fills commit hash
rReset to Selected EntryOpens Soft/Mixed/Hard reset options
ctrl+pCherry Pick EntryApplies entry's commit to current branch

Logging Panel​

KeyActionNotes
eExport LogExports log content to Downloads folder

Tag Panel​

KeyActionWhen
< / >Switch Component PanelSwitches between Local Branches, Tags, Remotes
dDelete TagOpens delete tag menu
ctrl+pPush TagOpens push tag menu
fFetch TagOpens fetch tag menu
?Keybindings & How-toOpens dedicated help popup

Remote Operations​

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

Remote Panel​

KeyActionWhen
< / >Switch Component PanelSwitches between Local Branches, Tags, Remotes
nNew RemoteOpens add remote flow
dRemove RemoteRemoves the configured remote
eEdit RemoteOpens edit remote flow
enterSet as Tracking UpstreamSets the current remote as upstream
?Keybindings & How-toOpens dedicated help popup

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