Setting colors for prompt in Git Bash on Windows

marc_s picture marc_s · May 7, 2012 · Viewed 20.6k times · Source

I've successfully played around with some of the color settings in the Git Bash on Windows - I'm able to set a few things, like the colors of the local, the current and remote branches in my .gitconfig file:

[color "branch"]
current = cyan bold
local = cyan 
remote = red

But what I haven't managed to change are the colors of the prompt - the username@machine at the beginning of the line (in the yellow rectangle in my screenshot), and the project and branch I'm currently on (purple rectangle).

enter image description here

Is there a way to influence those, too? Which .gitconfig settings do I need to set to change those colors?

Answer

Dennis Williamson picture Dennis Williamson · May 7, 2012

In your .bashrc you can set your prompt using the PS1 variable (which is likely set to a global value in /etc/profile or another file in /etc which may be distribution dependent).

Here's an example:

PS1='\[\033[1;36m\]\u@\h:\[\033[0m\]\[\033[1;34m\]\w\[\033[0m\] \[\033[1;32m\]$(__git_ps1)\[\033[0m\]\$ '

In order for the command substitution to work, you need shopt -s promptvars which is the default.

This will output the user and hostname in cyan, the current directory in blue and the git branch in green on terminals that work with TERM=xterm-color.

See man 5 terminfo and man tput for more information about terminal controls.