Customize colors for __git_ps1 with GIT_PS1_SHOWCOLORHINTS

后端 未结 2 841
逝去的感伤
逝去的感伤 2021-02-13 19:27

What I have tried

I have updated my prompt to include the branch name using __git_ps1. In addition, I set GIT_PS1_SHOWCOLORHINTS.

Th

2条回答
  •  无人及你
    2021-02-13 20:29

    The colours shown by __git_ps1 for dirty branches don't affect the branch name; they affect the "dirty state indicator". In addition to enabling colours, if you enable this indicator you will see a red asterisk for a dirty branch:

    old-prompt $ bash --noprofile --norc
    bash-4.2$ source /etc/bash_completion.d/git-prompt
    bash-4.2$ export GIT_PS1_SHOWCOLORHINTS=1
    bash-4.2$ export GIT_PS1_SHOWDIRTYSTATE=1
    bash-4.2$ export PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
    chris@machine:~/path/to/dir (master *)$
    

    There is no way to change the colour of the branch name based on dirty status without modifying the git-prompt.sh code, or providing your own function.

    Note that this works with export PROMPT_COMMAND but not export PS1.

提交回复
热议问题