Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I modify cygwin's PS1 for git bash completion?

Here is my current PS1:

$ echo $PS1
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

I have installed git bash completion and it isn't showing the current branch in my command prompt. I think this needs to be edited but I've got no idea what to change to make it show the current branch. Note that I like the colors and general structure (i.e. with $ on its own line), so I'd like to keep that if possible.

like image 213
void.pointer Avatar asked Jan 15 '14 15:01

void.pointer


People also ask

What is PS1 in Linux?

PS1 is one of the few variables used by the shell to generate the prompt. As explained in the bash manual, PS1 represents the primary prompt string (hence the “PS”) - which is what you see most of the time before typing a new command in your terminal.


1 Answers

Modify the prompt string and add $(__git_ps1 " (%s)") somewhere.

For example, try typing this into Bash:

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]$(__git_ps1 ' (%s)')\n\$"

Once you find something you like, add that line to one of Bash's startup files, e.g. $HOME/.bashrc.

The source for git-prompt.sh is well-commented and worth browsing if you're curious about other options.

Note that you may have to manually source path/to/git-prompt.sh before this will work. If so, add this line to your config file as well, above the export PS1 bit.

like image 178
Chris Avatar answered Sep 23 '22 13:09

Chris