使用git_ps1_ShowColorHits为git_ps1定制颜色 我试过的
我已使用使用git_ps1_ShowColorHits为git_ps1定制颜色 我试过的,git,shell,command-prompt,Git,Shell,Command Prompt,我已使用\uuu git\u ps1更新了提示以包含分支名称。此外,我还设置了GIT\u PS1\u showcolorHits 问题 提示正确显示。但是,分支颜色始终为绿色。我以为一根脏树枝是红色的 文件规定: 颜色基于“git status-sb”的彩色输出 我找到并审阅了,但我不确定需要更改哪些选项 问题 是否可以将干净树枝的颜色更改为绿色,脏树枝的颜色更改为红色?如果是,如何?脏分支的\uuu git\u ps1显示的颜色不影响分支名称;它们会影响“脏状态指示器”。除启用颜色外,如果启用
\uuu git\u ps1
更新了提示以包含分支名称。此外,我还设置了GIT\u PS1\u showcolorHits
问题
提示正确显示。但是,分支颜色始终为绿色。我以为一根脏树枝是红色的
文件规定:
颜色基于“git status-sb”的彩色输出
我找到并审阅了,但我不确定需要更改哪些选项
问题
是否可以将干净树枝的颜色更改为绿色,脏树枝的颜色更改为红色?如果是,如何?脏分支的
\uuu git\u ps1
显示的颜色不影响分支名称;它们会影响“脏状态指示器”。除启用颜色外,如果启用此指示器,您将看到脏分支的红色星号:
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 *)$
如果不修改git prompt.sh
code,或者不提供自己的功能,就无法根据脏状态更改分支名称的颜色
请注意,这适用于
export-PROMPT_命令
,但不适用于export-PS1
,我通过:1.克隆最新的git源代码,以获取并安装最新的
git prompt.sh
(您的发行版可能已经有了最新的脚本)2.正在删除阻止脚本在输出字符串中插入颜色代码的检查。
3.修改my.bashrc以包含对
\uuu git\u ps1
的调用,并使用一些格式选项来更改我的终端提示文本
提交和文档,包括我所做的特定文件和编辑:
现在,我的控制台有了我想要的所有信息:我可以打开一个终端,并将cd放入任何git repo:$cd~/Github/git
user@hostname:~/Github/git:(master)$#“master”是绿色的
当我签出一个散列并移动到分离的头状态时:$git签出bca18110
user@hostname:~/Github/git:(bca1811…$#提交哈希为红色
我需要遵循这个答案:让bash在每个命令之后正确地重新解释颜色代码,但是我的终端完好无损,换行仍然有效,我的提示符按照我想要的方式着色 感谢您的回复,但它们似乎也不会影响脏状态指示器。您是在哪里确定的?通过测试,虽然它似乎只在我设置了
PROMPT\u命令而不是PS1
时才起作用,我以前没有包括这一点。我已经更新了我的示例。+我的错误。我现在看到它确实在标记脏状态指示器。这不是我想要的答案。但是我可以修改代码。如果使用正确的参数调用\uuu git\u ps1
,则不需要hackcontrib/completion/git prompt.sh
。请参见我的答案,设置PROMPT\u COMMAND=''git\u ps1[PRE][POST]'
是一个更干净的解决方案!