使用正确的颜色查看 git log

des*_*ert 5 colors command-line git watch-command

我想要watch输出git log --oneline --graph所有颜色,并尝试调整解决方案:Why don't git Colors shown while using watch?,但它只是将(几乎)整个输出呈现为橙色:

输出使用watch -c

$ watch -c git -c color.diff=always log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意,从第一个提交哈希开始,所有内容都以橙色打印。这是的输出watch from procps-ng 3.3.10

正常输出=目标

$ git log --graph --oneline
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

附加的输出-c color.diff=always是相同的,cat -A显示正在使用的 ANSI 颜色序列:

$ git -c color.diff=always log --graph --oneline | cat -A
* ^[[33m8ccd905^[[m L
* ^[[33me4ad4f6^[[m E
* ^[[33mf427d2a^[[m U
* ^[[33me8351c8^[[m Z
* ^[[33mf06747c^[[m I
Run Code Online (Sandbox Code Playgroud)

问题

我怎样才能watch git log像现在这样显示颜色git log

egm*_*ont 3

这是(Ubuntu 包名称)中的一个错误,已修复procps-ngprocps,已在版本 3.3.11 中

最新的 Ubuntu LTS (16.04 Xenial) 仍然包含该错误,而当前的常规版本(17.04 Zesty 和 17.10 Artful)已经发布了修复版本。