如何在钩子输出期间让git显示彩色输出?

时间:2015-03-19 01:56:33

标签: git ssh

我目前正在使用git来部署项目,我想知道如何让npmgulp等工具的输出颜色相同他们是在本地使用这些工具吗?

例如

enter image description here

VS

enter image description here

2 个答案:

答案 0 :(得分:2)

在远程服务器上

输入

git config --global color.ui auto  

那应该给你颜色

答案 1 :(得分:1)

简短的回答:要么为远程端的git钩子中使用的每个工具强制着色输出,要么强制设置TERM环境变量(再次,在远程端)。在每个钩子脚本的开头某处使用export TERM=xterm(或export TERM=xterm-color)。

答案很长:默认情况下,像npmgit这样的unix工具会生成彩色输出(即带有额外转义序列的输出,相应地改变颜色),只有这些工具可以检测到哪个终端它们的操作能够改变颜色。终端功能通过环境变量TERM定义。普通的交互式SSH会话可以将TERM值转移到远程端(参见Can I forward env variables over ssh?),但非交互式会话通常不会这样做,非交互式会话可以在无TTY模式下运行。您可以强制使用特定工具的颜色(例如npm via config)或正确配置TERM环境变量。