Git 提示不会变色

Git 提示不会变色

我希望 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#L104https://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 上显示。

相关内容