ohmyzsh/plugins/git-prompt
Curtis Rueden 2d32e9be66
refactor: handle `$0` according to the Zsh plugin standard (#10518)
For details and rationale, see:
https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html

Closes #10518
2021-12-28 12:29:24 +01:00
..
README.md docs(git-prompt): explain stashed icon (⚑) (#9619) 2021-01-27 17:28:04 +01:00
git-prompt.plugin.zsh refactor: handle `$0` according to the Zsh plugin standard (#10518) 2021-12-28 12:29:24 +01:00
gitstatus.py feat(git-prompt): display stash count in prompt 2021-01-15 19:03:29 +01:00

README.md

git-prompt plugin

A zsh prompt that displays information about the current git repository. In particular: the branch name, difference with remote branch, number of files staged or changed, etc.

To use it, add git-prompt to the plugins array in your zshrc file:

plugins=(... git-prompt)

See the original repository.

Prerequisites

This plugin uses python, so your host needs to have it installed

Examples

The prompt may look like the following:

  • (master↑3|✚1): on branch master, ahead of remote by 3 commits, 1 file changed but not staged
  • (status|●2): on branch status, 2 files staged
  • (master|✚7…): on branch master, 7 files changed, some files untracked
  • (master|✖2✚3): on branch master, 2 conflicts, 3 files changed
  • (experimental↓2↑3|✔): on branch experimental; your branch has diverged by 3 commits, remote by 2 commits; the repository is otherwise clean
  • (:70c2952|✔): not on any branch; parent commit has hash 70c2952; the repository is otherwise clean
  • (master|⚑2): on branch master, there are 2 stashed changes

Prompt Structure

By default, the general appearance of the prompt is:

(<branch><branch tracking>|<local status>)

The symbols are as follows:

Local Status Symbols

Symbol Meaning
repository clean
●n there are n staged files
✖n there are n unmerged files
✚n there are n unstaged files
⚑n there are n stashed changes
there are some untracked files

Branch Tracking Symbols

Symbol Meaning
↑n ahead of remote by n commits
↓n behind remote by n commits
↓m↑n branches diverged: other by m commits, yours by n commits

Customisation

  • Set the variable ZSH_THEME_GIT_PROMPT_CACHE to any value in order to enable caching.
  • You may also change a number of variables (whose name start with ZSH_THEME_GIT_PROMPT_) to change the appearance of the prompt. Take a look at the bottom of the plugin file` to see what variables are available.

Enjoy!