I share screen shots quite a lot in my blog posts and got fed up of needing to blur the user name information from my Git bash terminal screenshots in some cases. The git bash prompt defaults to include your username, and I didn’t want to share that in many cases. So I wanted to find out how to change the git bash prompt to some custom text. This post describes how I edited the configuration file to change the display name in Git Bash. I outline all the steps you need to take in order to edit the git-prompt.sh file to set customised git bash prompt text.
Table of contents
How to change the bash prompt display name
To change the text in the git bash prompt you will need to edit a text file which contains the settings. This file is called git-prompt.sh
and can be found in a sub folder under the location of the git-bash.exe
file. On my PC that path is:
C:\Program Files\Git\etc\profile.d
How to find the git-bash.exe path
To find the path to git-bash.exe on your system right click the Git Bash icon in your start menu or task bar, then right click the git bash item in the pop up menu, and finally left click the properties item in that sub menu. In the window that appears you can see, and copy, the path to the exe file, as shown here:
Now you need to look for a subfolder called etc
and a subfolder in there called profile.d
. So the full path on my system is:
C:\Program Files\Git\etc\profile.d
In here you’ll find your git-prompt.sh
file. Open it in notepad or Vs Code as we are going to edit it.
What is the git-prompt.sh file?
The git-prompt.sh file contains all of the configuration information for the Git bash terminal and the prompt itself. It contains settings that enable Git Bash to show information about the repository.
How to edit the file git-prompt.sh file to customize Git Bash
There are two ways to edit the file. You can edit the main git-prompt.sh
file directly, or you can create a customized one specifically for your user account.
Edit the main file directly
Before you make any changes to the git-prompt file directly, copy it and save that copy in the same folder. You can have that as an original file to roll back to should you do anything that stops git bash working.
Create a custom configuration file for Git Bash
If you open the main git-prompt file you’ll see between lines 8 and 11 it checks to see if a file exists here – ~/.config/git/git-prompt.sh . The ~ part of that file path refers to the folder relating to your username so it will be something like C:\Users\johndoe\. If the folder already exists, then Git Bash loads the configuration data from that file instead of this main file.
On my system there was already a .config folder, so I created a git folder within that. You should then copy the default git-prompt.sh file from here:
C:\Program Files\Git\etc\profile.d
… and place the duplicate in the folder you just created at:
C:\Users\johndoe\.config\git
Now we can safely edit that file, leaving the original default version alone. You need to remove the if then else statement that looks for this custom file, otherwise Git bash will just crash when you try and run it.
Once you’ve done that, from now on when you start Git Bash it will take the configuration from your new customized file. If you ever want to roll back to the original you can just delete your customized file and Git Bash will revert to using the original, untouched file.
Edit git-prompt.sh file to change git bash prompt text
All I’ve done here is remove that block and then edit the cursor text to say brainstorm as shown here:
You could copy this text to use as the starting point for your custom file – git-prompt.sh.
if test -f /etc/profile.d/git-sdk.sh
then
TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
TITLEPREFIX=$MSYSTEM
fi
PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
PS1="$PS1"'\n' # new line
PS1="$PS1"'\[\033[32m\]' # change to green
PS1="$PS1"'brainstorm ' # user@host<space> ----- this is where I have edited the name
PS1="$PS1"'\[\033[35m\]' # change to purple
PS1="$PS1"'$MSYSTEM ' # show MSYSTEM
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
PS1="$PS1"'\w' # current working directory
if test -z "$WINELOADERNOEXEC"
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[36m\]' # change color to cyan
PS1="$PS1"'`__git_ps1`' # bash function
fi
fi
PS1="$PS1"'\[\033[0m\]' # change color
PS1="$PS1"'\n' # new line
PS1="$PS1"'$ ' # prompt: always $
MSYS2_PS1="$PS1" # for detection by MSYS2 SDK's bash.basrc
# Evaluate all user-specific Bash completion scripts (if any)
if test -z "$WINELOADERNOEXEC"
then
for c in "$HOME"/bash_completion.d/*.bash
do
# Handle absence of any scripts (or the folder) gracefully
test ! -f "$c" ||
. "$c"
done
fi
Now you.ve finished editing the file to change the name in your Git bash display name.
I’ll be following up with another post soon about how to customize the Git bash terminal colours. In the mean time you may find this post useful as it tells you how to change the default folder / directory in git bash, along with some other useful tips.