我希望 bash 中的 git 提示符能变色(绿色表示干净的存储库,红色表示脏的存储库)。现在,无论我的 cwd/repo 的 git 状态如何,它都显示纯白色文本。
https://github.com/mcandre/dotfiles/blob/master/.bashrc-wi#L135-L138
答案1
尽管可能存在问题/etc/bash_completion.d/git-prompt
,但我认为您需要包装PS1=...
成一个函数并设置PROMPT_COMMAND
。请参阅https://github.com/sengaya/configs-and-scripts/blob/master/.bashrc#L104和https://github.com/sengaya/configs-and-scripts/blob/master/.bashrc#L16举个例子。
答案2
将以下行添加到.gitconfig
您的文件中$HOME
(如果不存在则创建):
[color]
ui = auto
或者,也可以使用以下命令进行更改git config
:
$ git config --global color.ui auto
或者,忽略--global
它仅应用于当前 Git 存储库。
答案3
确保 git 将使用颜色:
git config --global color.ui auto
使用 bash 并从最新软件包(1.9.1-1)安装 git。
将以下内容添加到 .bashrc,然后重新启动 bash:
PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
GIT_PS1_DESCRIBE_STYLE='describe'
GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWCOLORHINTS=1
您不需要像您发布的链接中那样更改 .bashrc 文件。无论如何,该文件最终都会被引用。
请参阅系统上的 /etc/bash_completion /usr/share/bash-completion/bash_completion /etc/bash_completion.d/git-prompt 以及更重要的是 /usr/lib/git-core/git-sh-prompt,其中描述了上述变量(以及其他变量)的用途的注释。
已跟踪文件中的更改会导致脏显示 - 新添加的更改不会。提示的描述部分仅在分离的 HEAD 上显示。