我有这个命令:
git stash list --pretty="%C(yellow)%h %>(14)%Cgreen%cr %C(blue)%gs"
给出了彩色输出,但如果我通过管道传递它git stash list <..> | less -R
,颜色就会在输出中消失。
如何保持git stash list
via管的颜色?
答案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