Git颜色在Windows命令提示符中无法显示

4

我猜测这是由于我的配置文件中的颜色设置,但我尝试更改后没有用。也许我做得不对?

请注意,Git Bash 显示分支颜色为绿色,但在窗口命令行中根本没有显示!

在此输入图片描述

$ git branch
* add_bower *<~~~ only the asterisk appears on the windows prompt.*
  master

2
你可能已经搞乱了控制台颜色。正如@neumann1990所建议的那样,CMD.EXEPowershell.exe都使用相同的“控制台窗口”基础架构,能够产生相同的颜色效果。 - Christian.K
我使用了这个技巧:https://askubuntu.com/a/517678/428049,你猜怎么着!它奏效了!! - hola
3个回答

3

我觉得在命令行中使用 Git 应该没有问题。在放弃之前,我建议您检查一下本地的 gitconfig 和全局的 gitconfig。

首先要做的是:

git branch --color

或者

git diff --color

你也可以使用-c选项

git -c color.ui=always status

如果您看到颜色,那么很可能是您的本地gitconfig正在覆盖全局gitconfig中的设置。
此时,请执行以下操作:
git config --local --edit

如果设置为auto或true但仍然看不到颜色,请将输出设置为always。我建议这样做是因为Git有可能会犯错误,而不将cmd视为终端。
来自git-config
如果设置为always,git-diff(1)、git-log(1)和git-show(1)将对所有补丁使用颜色。如果设置为true或auto,则这些命令仅在输出到终端时才使用颜色。默认值为false。
就像这样。
[color]
    branch = always
    diff = always
    interactive = always
    status = always
    ui = always

希望这可以帮助!


1

我认为命令提示符默认不支持对输出的不同部分进行着色。您可能需要一些扩展或插件来处理它。您考虑过使用Powershell吗?除了内置支持所需的颜色外,它还比普通命令提示符更加多才多艺和强大。 Output with color in Powershell


我在一些命令行中遇到了这个问题。当当前分支文本不出现在cmd中时,运行powershell会出现相同的问题。 - Carl Walsh
PowerShell 只显示有限的颜色,CMD 也是如此。 - DxTx

0

我遇到了完全相同的问题,只是针对某些命令提示符。(默认情况下它可以工作,但当我运行我的团队的“razzle”自定义脚本时,输出就像你的截图一样出现了问题。奇怪的是,在git log和status中着色工作得很好;只有branch出了问题。)

我创建了一个新的快捷方式来启动相同的自定义脚本,我的新快捷方式修复了输出。非常奇怪。


如果你运行git branch --no-color,你会看到正确的输出,只是没有颜色吗?
您可以运行git config --local --add color.branch never将其设置为此存储库的默认值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接