strata
Documentation menu

Git

Inside a git repository, every file gets a marker at the right edge of its row:

MarkerMeaning
MModified (staged or not)
AAdded to the index
?Untracked
RRenamed
DDeleted
UMerge conflict

Ignored files are dimmed. A directory shows the most important marker of anything inside it, so you can follow changes down the tree.

Git actions

Press ; for the git menu. It works on the marked items, or the hovered one:

ActionWhat it does
diffStaged and unstaged changes against the last commit, with untracked files shown as added
stagegit add (new, changed and deleted files, and everything in a folder)
unstageTakes the items out of the next commit and keeps the changes
discardThrows away unstaged changes to tracked files after asking. Untracked files are kept
commitAsks for a message and commits what is staged
logRecent commits touching the items
blameWho last changed each line (one file)

The same actions are commands: :git diff, :git stage, :git unstage, :git discard, :git log, :git blame and :git commit <message>. Anything else, like :git push or :git pull --rebase, runs as a git command in the current directory.

The git plugin

The git plugin adds the current branch and the number of changes to the top bar, and a Git panel with git status — toggle it with g s.

Status is refreshed in the background every few seconds and after every file operation. Turn it off with git_status = false.