【问题标题】:How to get colored output with git+mintty+mingw on windows?如何在 Windows 上使用 git+mintty+mingw 获得彩色输出?
【发布时间】:2013-02-26 14:33:07
【问题描述】:

我已经安装了官方的 windows git 发行版,我安装了一个最近的 mingw,并进入了 mintty 终端。然后我将我的 git 安装复制到这个 mingw 安装中,现在它可以在 mintty 中运行。我唯一的问题是 git 输出没有着色。我怀疑这是因为 windows git 端口尝试使用 windows 控制台颜色的东西,而不是 mintty 能够解释的 ANSI 颜色代码。是否可以让 git 改用 ANSI 颜色代码?

(在此之前我尝试过 cygwin 设置,但性能非常非常糟糕,我找不到任何解决方案。

【问题讨论】:

  • 根据我的经验,Cygwin 和 Mingw 在性能方面同样糟糕。特别是,拥有一个干净的 PATH 变量会很有帮助。

标签: windows git mingw mintty


【解决方案1】:

来自git-config

如果设置为 always,git-diff(1)、git-log(1) 和 git-show(1) 将为所有补丁使用颜色。如果设置为 trueauto,这些命令将仅在输出到终端时使用颜色。默认为 false。

看起来 git 没有将 mintty 视为终端。对我来说,使用 always 而不是 true/auto 有帮助:

[color]
  status = always

通过将 --color 标志添加到 diff 命令也可以强制颜色(使用 diff=true):

git diff --color 

【讨论】:

  • 确实,似乎把always 解决了这个问题。我使用 msysgit 附带的 shell(这是一个运行 sh.exe --login -i 的标准 Windows shell)进行了工作颜色设置。在我的~/.gitconfig 文件中放置always 而不是true 可以修复mintty 的无颜色问题。谢谢
  • 这并不完全有效,例如git branch。除了状态之外,我还必须将分支、差异和交互设置为“始终”。
【解决方案2】:

这很简单。将 git 配置为始终在任何 ui 中显示颜色。

git config --global color.ui always

为我工作。

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 2011-05-17
    • 2013-09-28
    • 2011-12-16
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多