General

Use git bash on your touchbar!

Add the following to your .profile

promptBeginner5 min to valuemarkdown
0 views
Jan 14, 2026

Sign in to like and favorite skills

Prompt Playground

1 Variables

Fill Variables

Preview

# Use git bash on your touchbar!

[INSTALLDIR>]dd the following to your .profile

```
G[INSTALLDIR>][INSTALLDIR>]_B[INSTALLDIR>][INSTALLDIR>]H_P[INSTALLDIR>][INSTALLDIR>]H=~/[INSTALLDIR>]eveloper/bash-git-prompt/
[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]=${G[INSTALLDIR>][INSTALLDIR>]_B[INSTALLDIR>][INSTALLDIR>]H_P[INSTALLDIR>][INSTALLDIR>]H}it2setkeylabel.sh

G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_O[INSTALLDIR>][INSTALLDIR>]Y_[INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]EPO=1

function prompt_callback {
  ${G[INSTALLDIR>][INSTALLDIR>]_B[INSTALLDIR>][INSTALLDIR>]H_P[INSTALLDIR>][INSTALLDIR>]H}gitprompttouchbar.sh
}

source ${G[INSTALLDIR>][INSTALLDIR>]_B[INSTALLDIR>][INSTALLDIR>]H_P[INSTALLDIR>][INSTALLDIR>]H}gitprompt.sh

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F1 'status'
bind '"\eOP":"git status\n"'

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F2 'add'
bind '"\eOQ":"git add "'

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F3 'commit'
bind '"\eO[INSTALLDIR>]":"git commit\n"'

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F4 'push'
bind '"\eO[INSTALLDIR>]":"git push origin HE[INSTALLDIR>][INSTALLDIR>]\n"'

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F5 'pull'
bind '"\e[15~":"git pull\n"'

${[INSTALLDIR>][INSTALLDIR>]2_[INSTALLDIR>]E[INSTALLDIR>]_KEY[INSTALLDIR>][INSTALLDIR>]BE[INSTALLDIR>]} set F6 'diff'
bind '"\e[17~":"git diff HE[INSTALLDIR>][INSTALLDIR>] -- "'

# Following keys can be added like the ones above.
# You'll need the following key codes to bind the command to the function keys.
#^[[18~ #F7
#^[[19~ #F8
#^[[20~ #F9
#^[[21~ #F10

```

# [INSTALLDIR>]nformative git prompt for bash and fish

[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/magicmonty/bash-git-prompt?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

[INSTALLDIR>]his prompt is a port of the "[INSTALLDIR>]nformative git prompt for zsh" which you can
find [here](https://github.com/olivierverdier/zsh-git-prompt)

[INSTALLDIR>] ``bash`` prompt that displays information about the current git repository.
[INSTALLDIR>]n particular the branch name, difference with remote branch, number of files
staged, changed, etc.

(an original idea from this [blog post][]).

`gitstatus.sh` and `git-prompt-help.sh` added by [[INSTALLDIR>]K[INSTALLDIR>]](http://github.com/aks).

# [INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]! Breaking changes!

**[INSTALLDIR>]f you use this prompt already, please update your `.git-prompt-colors.sh`,
if you have one. [INSTALLDIR>]t now contains a function named `define_git_prompt_colors()` or `override_git_prompt_colors()`!**

**Please see the ``Custom.bgptemplate`` in the ``themes`` subdirectory of the installation directory!**

**You can now also use the function `override_git_prompt_colors()`. [INSTALLDIR>]t should define the variable `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_[INSTALLDIR>][INSTALLDIR>]ME`
and call the function `reload_git_prompt_colors <[INSTALLDIR>]heme[INSTALLDIR>]ame[INSTALLDIR>]` like follows:**

```sh
override_git_prompt_colors() {
  G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_[INSTALLDIR>][INSTALLDIR>]ME="Custom" # needed for reload optimization, should be unique

  # Place your overrides here
  ...
}

# load the theme
reload_git_prompt_colors "Custom"
```

[INSTALLDIR>]he advantage of this approach is, that you only need to specify the parts, that are different to the [INSTALLDIR>]efault theme.

---

**[INSTALLDIR>]he variable `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]C[INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]` was replaced with a more general placeholder
named ``_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]C[INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]_``, which is replaced by the state of the last executed command. [INSTALLDIR>]t is now activated by default.**

## Examples

[INSTALLDIR>]he prompt may look like the following:

![Example prompt](gitprompt.png)

* ``(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
* ``(master|⚑2)``: on branch ``master``, 2 stash entries
* ``(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

##  Prompt [INSTALLDIR>]tructure

By default, the general appearance of the prompt is::

    (<branch[INSTALLDIR>] <upstream branch[INSTALLDIR>] <branch tracking[INSTALLDIR>]|<local status[INSTALLDIR>])

[INSTALLDIR>]he symbols are as follows:

- [INSTALLDIR>]ocal [INSTALLDIR>]tatus [INSTALLDIR>]ymbols
  - ``✔``: repository clean
  - ``●n``: there are ``n`` staged files
  - ``✖n``: there are ``n`` files with merge conflicts
  - ``✖-n``: there are ``n`` staged files waiting for removal
  - ``✚n``: there are ``n`` changed but *unstaged* files
  - ``…n``: there are ``n`` untracked files
  - ``⚑n``: there are ``n`` stash entries
- Upstream branch
  - [INSTALLDIR>]hows the remote tracking branch
  - [INSTALLDIR>]isabled by default
  - Enable by setting G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_UP[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]M=1
- Branch [INSTALLDIR>]racking [INSTALLDIR>]ymbols
  - ``↑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
  - ``[INSTALLDIR>]``: local branch, not remotely tracked
- Branch [INSTALLDIR>]ymbol:<br /[INSTALLDIR>]
  	When the branch name starts with a colon ``:``, it means it's actually a hash, not a branch (although it should be pretty clear, unless you name your branches like hashes :-)

## [INSTALLDIR>]nstallation

### via [Homebrew][homebrew] on Mac O[INSTALLDIR>] X

- [INSTALLDIR>]un `brew update`

- [INSTALLDIR>]un `brew install bash-git-prompt` for the last stable release or `brew install --HE[INSTALLDIR>][INSTALLDIR>] bash-git-prompt` for the
   latest version directly from the repository

- [INSTALLDIR>]ow you can source the file in your `~/.bash_profile` as follows:

```sh
if [ -f "$(brew --prefix)/opt/bash-git-prompt/share/gitprompt.sh" ]; then
  __G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]=$(brew --prefix)/opt/bash-git-prompt/share
  source "$(brew --prefix)/opt/bash-git-prompt/share/gitprompt.sh"
fi
```

### via Git clone

- Clone this repository to your home directory.

```sh
cd ~
git clone https://github.com/magicmonty/bash-git-prompt.git .bash-git-prompt --depth=1
```

[INSTALLDIR>]dd to the `~/.bashrc`:
```
  G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_O[INSTALLDIR>][INSTALLDIR>]Y_[INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]EPO=1
  source ~/.bash-git-prompt/gitprompt.sh
```

### install for the fish shell

- [INSTALLDIR>]f you cloned the repo to a directory other then ~/.bash-git-prompt , set __G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>] in ~/.config/fish/config.fish
   to that path

- [INSTALLDIR>]o install as an option in the fish_config GU[INSTALLDIR>]

```sh
sudo install -m 666 gitprompt.fish /usr/share/fish/tools/web_config/sample_prompts/
fish_config
```
   to install the bash-git-prompt as a choice under the prompt tab of the web config. [INSTALLDIR>]electing this will copy it to
   ~/.config/fish/functions/fish_prompt.fish

- You can also do

```sh
mkdir -p ~/.config/fish/functions/
cp gitprompt.fish ~/.config/fish/functions/fish_prompt.fish
```
   to overwrite the current prompt with the bash-git-prompt directly


### [INSTALLDIR>]ll configs for .bashrc

```sh

   # [INSTALLDIR>]et config variables first
   G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_O[INSTALLDIR>][INSTALLDIR>]Y_[INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]EPO=1

   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_FE[INSTALLDIR>]CH_[INSTALLDIR>]EMO[INSTALLDIR>]E_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]U[INSTALLDIR>]=0   # uncomment to avoid fetching remote status

   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_UP[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]M=1 # uncomment to show upstream tracking branch
   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_U[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]CKE[INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]=all # can be no, normal or all; determines counting of untracked files

   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_CH[INSTALLDIR>][INSTALLDIR>]GE[INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]_COU[INSTALLDIR>][INSTALLDIR>]=0 # uncomment to avoid printing the number of changed files

   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]U[INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]=gitstatus_pre-1.7.10.sh # uncomment to support Git older than 1.7.10

   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]=...    # uncomment for custom prompt start sequence
   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_E[INSTALLDIR>][INSTALLDIR>]=...      # uncomment for custom prompt end sequence

   # as last entry source the gitprompt script
   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME=Custom # use custom theme specified in file G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_F[INSTALLDIR>][INSTALLDIR>]E (default ~/.git-prompt-colors.sh)
   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_F[INSTALLDIR>][INSTALLDIR>]E=~/.git-prompt-colors.sh
   # G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME=[INSTALLDIR>]olarized # use theme optimized for solarized color scheme
   source ~/.bash-git-prompt/gitprompt.sh
```

You can set the `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_U[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]CKE[INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]` variable to `no` or `normal` to speed things up if you have lots of
untracked files in your repository. [INSTALLDIR>]his can be the case for build systems that put their build artifacts in
the subdirectory structure of the git repository.

- `cd` to a git repository and test it!

#### [INSTALLDIR>]hemes

[INSTALLDIR>]he most settings are now stored in theme files. [INSTALLDIR>]o select a theme, set the variable `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME` to the name
of the theme located in `<[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]/themes` without the extension `.bgptheme` like this:

```sh
G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME=[INSTALLDIR>]olarized
```

[INSTALLDIR>]f you set `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME` to `Custom`, then the `.git-prompt-colors.sh` in the home directory will be used.
[INSTALLDIR>]his file can now be generated with the command `git_prompt_make_custom_theme [<[INSTALLDIR>]ame of base theme[INSTALLDIR>]]`. [INSTALLDIR>]f the name of
the base theme is ommitted or the theme file is not found, then the [INSTALLDIR>]efault theme is used. [INSTALLDIR>]f you have already a custom
`.git-prompt-colors.sh` in your home directory, a error message will be shown.

You can display a list of available themes with `git_prompt_list_themes` (the current theme is highlighted)

**[INSTALLDIR>]f you omit the `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME` variable, the [INSTALLDIR>]efault theme is used or, if you have a custom `.git-prompt-colors.sh`
in your home directory, then the Custom theme is used.**

##### Ubuntu [INSTALLDIR>]hemes

Ubuntu requires a bit more spacing for some characters so it has its own themes.

[INSTALLDIR>]hese can be listed with `git_prompt_list_themes`:
```sh
git_prompt_list_themes | grep Ubuntu
```

##### [INSTALLDIR>]heme structure

Please see the ``Custom.bgptemplate`` in the ``themes`` subdirectory of the installation directory!

[INSTALLDIR>] theme consists of a function `override_git_prompt_colors()` which defines at least the variable `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_[INSTALLDIR>][INSTALLDIR>]ME`
 with a unique theme identifier and a call to the function `reload_git_prompt_colors <[INSTALLDIR>]heme[INSTALLDIR>]ame[INSTALLDIR>]` like follows:

```sh
override_git_prompt_colors() {
  G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_[INSTALLDIR>][INSTALLDIR>]ME="Custom" # needed for reload optimization, should be unique

  # Place your overrides here
  ...
}

# load the theme
reload_git_prompt_colors "Custom"
```

[INSTALLDIR>]he advantage of this approach is, that you only need to specify the parts, that are different to the [INSTALLDIR>]efault theme.

[INSTALLDIR>]f you use a custom theme in `.git-prompt-colors.sh`, please set `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HEME_[INSTALLDIR>][INSTALLDIR>]ME="Custom"`.

#### Further customizations

- You can define `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]` and `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_E[INSTALLDIR>][INSTALLDIR>]` to tweak your prompt.

- [INSTALLDIR>]he default colors are defined within `prompt-colors.sh`, which is sourced by
  `gitprompt.sh`.  [INSTALLDIR>]he colors used for various git status are defined in
  `themes/[INSTALLDIR>]efault.bgptheme`.  Both of these files may be overridden by copying
  them to $HOME with a `.` prefix.  [INSTALLDIR>]hey can also be placed in `$HOME/lib`
  without the leading `.`.  [INSTALLDIR>]he defaults are the original files in the
  `~/.bash-git-prompt` directory.

- You can use `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_U[INSTALLDIR>]E[INSTALLDIR>]`, `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]OO[INSTALLDIR>]`,
  `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_E[INSTALLDIR>][INSTALLDIR>]_U[INSTALLDIR>]E[INSTALLDIR>]` and `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_E[INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]OO[INSTALLDIR>]` in your
  `.git-prompt-colors.sh` to tweak your prompt. You can also override the start
  and end of the prompt by setting `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]` and `G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_E[INSTALLDIR>][INSTALLDIR>]`
  before you source the `gitprompt.sh`.

- [INSTALLDIR>]he current git repo information is obtained by the script `gitstatus.sh`.
- You can define `prompt_callback` function to tweak your prompt dynamically.

```sh
function prompt_callback {
    if [ `jobs | wc -l` -ne 0 ]; then
        echo -n " jobs:\j"
    fi
}
```

- [INSTALLDIR>]here are two helper functions that can be used within `prompt_callback`:
    - `gp_set_window_title <[INSTALLDIR>]tring[INSTALLDIR>]` - sets the window title to the given string (should work for X[INSTALLDIR>]erm type terminals like in O[INSTALLDIR>] X or Ubuntu)
    - `gp_truncate_pwd` - a function that returns the current PW[INSTALLDIR>] truncated to fit the current terminal width. [INSTALLDIR>]pecify the length to truncate to as a parameter. Otherwise it defaults to 1/3 of the terminal width.

- [INSTALLDIR>]f you want to show the git prompt only if you are in a git repository you
  can set ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_O[INSTALLDIR>][INSTALLDIR>]Y_[INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]EPO=1`` before sourcing the gitprompt script

- [INSTALLDIR>]here is an indicator at the start of the prompt, which shows
  the result of the last executed command by if you put the placeholder
  `_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]C[INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]_` in any of the prompt templates.
  [INSTALLDIR>]t is now by default activated in the default theme:

```sh
  G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_U[INSTALLDIR>]E[INSTALLDIR>]="_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]C[INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]_ ${Yellow}${Path[INSTALLDIR>]hort}${[INSTALLDIR>]esetColor}"
  G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>]OO[INSTALLDIR>]="_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]C[INSTALLDIR>][INSTALLDIR>]O[INSTALLDIR>]_ ${G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_U[INSTALLDIR>]E[INSTALLDIR>]}"
```

  [INSTALLDIR>]f you want to display the exit code too, you can use the placeholder
  ``_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]E_`` in ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_OK`` or ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]``
  in your ``.git-prompt-colors.sh``:

```sh
G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_OK="${Green}✔ " # displays as ✔
G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]="${[INSTALLDIR>]ed}✘-_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_COMM[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]E_ " # displays as ✘-1 for exit code 1
```

- [INSTALLDIR>]t is now possible to disable the fetching of the remote repository either
  globally by setting ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_FE[INSTALLDIR>]CH_[INSTALLDIR>]EMO[INSTALLDIR>]E_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]U[INSTALLDIR>]=0`` in your .bashrc or
  on a per repository basis by creating a file named ``.bash-git-rc`` with the
  content ``FE[INSTALLDIR>]CH_[INSTALLDIR>]EMO[INSTALLDIR>]E_[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]U[INSTALLDIR>]=0`` in the root of your git repository.

- You can also ignore a repository completely by creating a file named ``.bash-git-rc`` with the
  content ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]G[INSTALLDIR>]O[INSTALLDIR>]E=1`` in the root of your git repository.

- [INSTALLDIR>]f you have a repository with many untracked files, the git prompt can become very slow.
  You can disable the display of untracked files on a per repository basis by setting
  ``G[INSTALLDIR>][INSTALLDIR>]_P[INSTALLDIR>]OMP[INSTALLDIR>]_[INSTALLDIR>]HOW_U[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]CKE[INSTALLDIR>]_F[INSTALLDIR>][INSTALLDIR>]E[INSTALLDIR>]=no`` in your ``.bash-git-rc`` in the repository or
  by disabling it globally in your ``.bashrc``

- You can get help on the git prompt with the function ``git_prompt_help``.
  Examples are available with ``git_prompt_examples``.
  [INSTALLDIR>] list of all available named colors is available with `git_prompt_color_samples`

- [INSTALLDIR>]f you make any changes to any file that is sourced by `gitprompt.sh`, you
  should run this command, so that the next prompt update will find all the
  files and source them anew.

```sh
git_prompt_reset
```

- You can disable/enable gitprompt by runnning:

```sh
git_prompt_toggle
```


**Enjoy!**

## [INSTALLDIR>]lternative [INSTALLDIR>]PM [INSTALLDIR>]nstall

[INSTALLDIR>]his project ships an [INSTALLDIR>]PM spec to simplify installation on [INSTALLDIR>]HE[INSTALLDIR>] and
clones. [INSTALLDIR>]f you wish to install from [INSTALLDIR>]PM, you may first build the [INSTALLDIR>]PM
from scratch by following this procedure:
* Clone this repository and tag the release with a version number

````sh
    git tag -a -m "[INSTALLDIR>]ag release 1.1" 1.1
````

* [INSTALLDIR>]un the following command to create a tarball:

````sh
    VE[INSTALLDIR>]=$(git describe)
    # replace dash with underscore to work around
    # rpmbuild does not allow dash in version string
    VE[INSTALLDIR>]=${VE[INSTALLDIR>]//\-/_}
    git archive                                \
        --format tar                           \
        --prefix=bash-git-prompt-${VE[INSTALLDIR>]}/       \
        HE[INSTALLDIR>][INSTALLDIR>]                                   \
        --  *.sh                               \
            *.fish                             \
            [INSTALLDIR>]E[INSTALLDIR>][INSTALLDIR>]ME.md                          \
            themes                             \
      [INSTALLDIR>] bash-git-prompt-${VE[INSTALLDIR>]}.tar
    mkdir -p /tmp/bash-git-prompt-${VE[INSTALLDIR>]}
    sed "s/Version:.*/Version:        ${VE[INSTALLDIR>]}/"          \
        bash-git-prompt.spec                            \
      [INSTALLDIR>] /tmp/bash-git-prompt-${VE[INSTALLDIR>]}/bash-git-prompt.spec
    O[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]=$(pwd)
    cd /tmp
    tar -uf ${O[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]}/bash-git-prompt-${VE[INSTALLDIR>]}.tar      \
            bash-git-prompt-${VE[INSTALLDIR>]}/bash-git-prompt.spec
    cd ${O[INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>][INSTALLDIR>]}
    gzip bash-git-prompt-${VE[INSTALLDIR>]}.tar
    mv bash-git-prompt-${VE[INSTALLDIR>]}.tar.gz bash-git-prompt-${VE[INSTALLDIR>]}.tgz
````

* [INSTALLDIR>]og into an [INSTALLDIR>]HE[INSTALLDIR>] or clones host and run:

````sh
rpmbuild -ta bash-git-prompt-xxx.tar.gz
````
[INSTALLDIR>]hen you may publish or install the rpm from "~/rpmbuild/[INSTALLDIR>]PM[INSTALLDIR>]/noarch".

## [INSTALLDIR>]icense
[INSTALLDIR>]his code is under the [B[INSTALLDIR>][INSTALLDIR>] 2 Clause ([INSTALLDIR>]etB[INSTALLDIR>][INSTALLDIR>]) license][license].

## Who [INSTALLDIR>]re You?
[INSTALLDIR>]he current maintainer of the original bash-git-prompt is [Martin Gondermann][magicmonty].

## Contributing
[INSTALLDIR>]f you want to contribute you can look for issues with the label [up-for-grabs][upforgrabs].
Please leave a comment on the issue, that you want to fix it, so others know, the labels are "taken".

Pull requests are welcome. [INSTALLDIR>] will check them and merge them, if [INSTALLDIR>] think they help the project.

## [INSTALLDIR>]onations
[INSTALLDIR>] accept tips through [Flattr][flattr].

[![Flattr](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=magicmonty&url=https%3[INSTALLDIR>]%2F%2Fgithub.com%2Fmagicmonty%2Fbash-git-prompt)

[blog post]: http://sebastiancelis.com/2009/nov/16/zsh-prompt-git-users/
[tip]:https://www.gittip.com/magicmonty/
[magicmonty]: http://blog.pagansoft.de/pages/about.html
[license]:https://github.com/magicmonty/bash-git-prompt/tree/master/[INSTALLDIR>][INSTALLDIR>]CE[INSTALLDIR>][INSTALLDIR>]E.txt
[flattr]: https://flattr.com/submit/auto?user_id=magicmonty&url=https%3[INSTALLDIR>]%2F%2Fgithub.com%2Fmagicmonty%2Fbash-git-prompt
[homebrew]: http://brew.sh/
[upforgrabs]: https://github.com/magicmonty/bash-git-prompt/labels/up-for-grabs
Share: