首页 > 解决方案 > 管道到“head”时在“git log”中保持颜色(osx)

问题描述

我的 bashrc 文件中有以下别名。

alias gl="git log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"
alias glh="gl | head -n 20"

这两个别名都用于以彩色打印 git history 的输出。但是随着 git 的更新,git version 2.19.1 glh停止打印彩色输出。gl仍然以彩色打印输出。有没有办法强制git log保持颜色,即使它是通过管道传输的head

操作系统:

ProductName:    Mac OS X
ProductVersion: 10.11.6
BuildVersion:   15G22010

标签: gitmacosgit-log

解决方案


您可以指定--color=always并管道到另一个必须解释颜色转义序列的程序,或者您可以摆脱管道到头并git log -n20直接使用仅显示最后 20 次提交。(请注意,后者可能会给您带来与 using 不同的结果head)。


推荐阅读