我正在输出到一个终端,但是Git没有正确地检测到我正在输出到一个终端,目的是给输出着色。我的问题是,当git- config (1)说“仅当输出到终端时才使用颜色”(此短语出现在多个配置描述的末尾,例如用于color.ui和color.branch)时,它到底是什么意思?换句话说,Git如何决定是否将其输出到终端,以及如何更改我的环境设置以通知Git我的终端确实是终端?
具体内容:
我在Windows上使用带有Cygwin的rxvt终端。我还安装了MSysGit。当我进行Git配置设置时:
[color]
ui = auto
branch = auto
status = auto我的终端输出中仍然没有颜色。但是,当我切换到
[color]
ui = always
branch = always
status = always然后是正确的彩色输出。然而,为了正确处理实际的非终端情况,我需要切换回"auto",而不是"always“。那么,为了让“自动”正常工作:我如何改变我的环境,让Git识别我的rxvt+Cygwin是一个能够支持颜色的终端?
(PS。我不能使用Git的Cygwin版本,因为比这个相对较小的颜色问题更大的问题。请不要回复我切换到Cygwin版本。)
谢谢你的帮忙!
发布于 2012-08-27 03:32:51
this question可能值得一看,它涵盖了检测进入终端(即tty会话)的输出与将其重定向到另一个进程的输出之间的差异。我假设这就是git“去终端”的意思,输出实际上是去tty会话。
https://stackoverflow.com/questions/12133153
复制相似问题