如何在Git的for-each-ref中使用color.branch。*值?

时间:2016-08-31 23:50:14

标签: git

for-each-ref的Git文档在color选项中有--format个字段的条目,其中包含:

  

更改输出颜色。其次是:<colorname>,其中的名称在color.branch.*

中描述

config文档说:

  

color.branch.<slot>

     

... <slot>current(当前分支),local(本地分支),remoterefs/remotes/中的远程跟踪分支之一1}}),upstream(上游跟踪分支),plain(其他参考)。

但是这样做:

 git for-each-ref --format="%(color:current)%(refname:short)%(color:reset)" refs/heads

...给我这个错误:

error: invalid color value: current
fatal: unrecognized color: %(color:current)

这里需要的语法是什么? (我在Windows上使用Git 2.8.3,但在Ubuntu下的Git 2.7.4上得到了相同的错误。)

1 个答案:

答案 0 :(得分:2)

处理颜色的实际代码位于color.c,允许:

最多可以完成两次,以指定前景色和背景色。 (这也记录在案near the top of the git config documentation。)

文档似乎确实表示可以使用currentlocal等;但是in fact, one cannot; %(refname)本身唯一允许的修饰符是:short and :strip=<n>,它可能是另一个挤压它的地方。也许文档在代码之前(虽然请注意这些直接到github的链接,因为它们可能会因为它们的行号而变得无效,因为它们是更新的Git)。