当git-config(1)表示"仅在输出到终端时才使用颜色"时,git-config(1)是什么意思?

wal*_*rus 7 git cygwin rxvt msysgit git-config

我正在输出到终端,但是Git没有正确地检测到我正在输出到终端,以便为输出着色.我的问题是,当git-config(1)表示"仅在输出到终端时才使用颜色"时,git-config(1)的含义是什么(此短语出现在多个配置描述的末尾,例如color.ui和color .科)?换句话说,Git如何决定它是否输出到终端,以及如何更改我的环境设置以告知Git我的终端确实是终端?

细节:
我在Windows上使用带有Cygwin的rxvt终端.我也安装了MSysGit.当我进行Git配置设置时:

[color]
    ui = auto
    branch = auto
    status = auto
Run Code Online (Sandbox Code Playgroud)

我的终端输出中仍然没有颜色.但是,当我切换到

[color]
    ui = always
    branch = always
    status = always
Run Code Online (Sandbox Code Playgroud)

然后有正确的彩色输出.但是,为了正确处理实际的非终端案例,我需要切换回"auto"而不是"always".因此,为了使"自动"正常工作:如何更改我的环境以使Git认识到我的rxvt + Cygwin是一个能够支持颜色的终端?

(PS.由于比这个相对较小的颜色问题更大的问题,我不能使用Cygwin版本的Git.请不要回复告诉我切换到Cygwin版本.)

谢谢你的帮助!

Mar*_*her 2

可能值得看看这个问题,它涵盖了检测到终端(即 tty 会话)的输出与重定向到另一个进程的输出之间的差异。我假设这就是 git 在“进入终端”的措辞中的含义,输出实际上是进入 tty 会话。