for-each-ref
的Git文档在color
选项中有--format
个字段的条目,其中包含:
更改输出颜色。其次是
中描述:<colorname>
,其中的名称在color.branch.*
config
文档说:
color.branch.<slot>
...
<slot>
是current
(当前分支),local
(本地分支),remote
(refs/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上得到了相同的错误。)
答案 0 :(得分:2)
处理颜色的实际代码位于color.c
,允许:
reset
和normal
; black
, red
, green
, yellow
,
blue
, magenta
, cyan
, and white
; bold
, dim
, italic
, ul
, blink
, reverse
, and strike
,可选择以no
or no-
为前缀; 最多可以完成两次,以指定前景色和背景色。 (这也记录在案near the top of the git config
documentation。)
文档似乎确实表示可以使用current
,local
等;但是in fact, one cannot; %(refname)
本身唯一允许的修饰符是:short
and :strip=<n>
,它可能是另一个挤压它的地方。也许文档在代码之前(虽然请注意这些直接到github的链接,因为它们可能会因为它们的行号而变得无效,因为它们是更新的Git)。