当前位置: 首页 > 知识库问答 >
问题:

当git-config(1)说“只有当输出到终端时才使用颜色”时,它是什么意思?

戚京
2023-03-14

我正在向一个终端输出,但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”正确工作:我如何改变我的环境使Git识别我的rxvt+cygwin是一个能够支持颜色的终端?

(ps.我不能使用Cygwin版本的Git,因为比这个相对次要的颜色问题大得多的问题,请不要回复告诉我切换到Cygwin版本)

谢谢你的帮助!

共有1个答案

吕学
2023-03-14

这个问题可能是值得研究的,它包括检测输出到终端(即tty会话)与被重定向到另一个进程之间的差异。我假设这就是git在其短语“going to a Terminal”中的意思,输出实际上是去tty会话。

 类似资料:
  • 有人能告诉我如何在CentOS for Git中获得颜色编码选项吗?

  • rank ▲ ✰ vote url 30 554 230 447 url 怎么在终端里输出颜色? 怎么样用Python在终端里输出带颜色的文本?最好的代替块字符的unicode字符是什么?(What is the best Unicode symbol to represent a solid block?这句话没理解) 这依赖于你用哪种操作系统.最常用的方法就是输出ANSI转义序列.例如,下面的

  • …Git跟踪你的内容。它从来没有跟踪过一个文件。不能在Git中跟踪文件。您可以做的是跟踪一个有单个文件的项目,但是如果您的项目有单个文件,那么一定要这样做,并且您可以这样做,但是如果您跟踪10,000个文件,Git永远不会将它们视为单个文件。Git认为一切都是完整的内容。Git中的所有历史都是基于整个项目的历史… (此处为抄本。) 然而,当您深入阅读Git书籍时,首先要告诉您的是Git中的文件可以

  • 嗨,伙计们,我想知道在声明变量时是如何工作的?您可以在下面代码的第3行中看到这一点。函数后的$output设置为函数,然后将$error变量设置为前一个命令的退出代码。在这种情况下怎么办/如何处理?

  • 在Flatter中尝试通过Firebase身份验证使用Google登录时,我遇到了一个错误: 我在任何地方都没有找到这个问题的解决方案。这是什么意思?

  • 问题内容: 在以下代码段中: 是什么在方法代表什么呢?我什么时候应该使用它? 问题答案: 介绍 该ServletContext#getRealPath()被intented到Web内容的路径(在服务器的磁盘文件系统上展开的WAR文件夹结构的路径)转换为绝对磁盘文件系统路径。 该代表Web内容根。即,它代表以下项目结构中的文件夹: 因此,将传递给将返回你/web项目的扩展WAR文件的文件夹的绝对磁盘