git - 如何让 git 在 hook 输出期间显示彩色输出?

标签 git ssh

我目前正在使用 git 来部署一个项目,我想知道如何获得 npmgulp 这样的工具的输出> 颜色与在本地使用这些工具时的颜色相同吗?

例如

enter image description here

对比

enter image description here

最佳答案

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

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

关于git - 如何让 git 在 hook 输出期间显示彩色输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135976/

相关文章:

git - Vim、LaTeX、自动换行和版本控制

git - 如何在现有 Perl 项目中应用/使用 Perl::Tidy?

git - 为每次提交获取 git 存储库的准确总行数

Git 为每次提交运行 shell 命令

ssh - 如何通过跳转框从远程服务器转发端口

java - jgit - 基于文件扩展名的 git diff

bash - 在 bash 中检查 ssh 远程命令的退出状态

arrays - ssh bash -s 遇到数组变量错误

c# - 从 C# SSH.NET 的 ShellStream 获取完整的命令输出

ssh - Vagrant :以下设置不应存在:ssh