Git:通过管道保留 git stash list --pretty= 的颜色

Git:通过管道保留 git stash list --pretty= 的颜色

我有这个命令:

git stash list --pretty="%C(yellow)%h %>(14)%Cgreen%cr %C(blue)%gs"

给出了彩色输出,但如果我通过管道传递它git stash list <..> | less -R,颜色就会在输出中消失。

如何保持git stash listvia管的颜色?

答案1

这是一个功能,因为 git 不知道你要通过管道传输到什么。

您可以将命令配置为始终输出颜色,如下所示:

git -c color.ui=always your command | less -R

人吉特:

  -c <name>=<value>
      Pass a configuration parameter to the command. The value given will
      override values from configuration files. The
      <name> is expected in the same format as listed by git config
      (subkeys separated by dots).

另一种选择是配置core.pager

git config core.pager "less -R"

所以你不需要给less自己管道。

答案2

正确的命令应该是:

git stash list --color=always --pretty="%C(yellow)%h %>(14)%Cgreen%cr %C(blue)%gs"

添加选项--color=always

相关内容