我正在使用 Git,使用 Windows 7、PowerShell 和 Posh-Git。我有以下别名设置:
ls = log --pretty=tformat:"%C(yellow)%h\\ %C(green)[%ad]%C(cyan)\\ <%cn>\\ %C(reset)%s%C(auto)%d"
问题是,当我将输出通过管道传输到 clip.exe 以将其复制到剪贴板时,它还会复制一些颜色字符。稍微阅读一下,我发现您可以添加“自动”,以便在--no-color
指定选项时使用默认颜色。所以现在我有:
ls = log --pretty=tformat:"%C(auto,yellow)%h\\ %C(auto,green)[%ad]%C(auto,cyan)\\ <%cn>\\ %C(auto,reset)%s%C(auto)%d"
我现在遇到的问题是显示参考的输出的最后一位。我将颜色设置为自动,以便 git 为分支和标签应用默认颜色,但无法弄清楚如何让它尊重该--no-color
选项。如果我将其设置为 %C(auto),则颜色会一直显示。我尝试了 %C(auto,auto) 并且可以使用--no-color
,但是没有它 git 会抱怨:
error: invalid color value: auto
fatal: unable to parse --pretty format