2015-04-02 18 views
4

命令git status -s将输出短格式的git状态。每个文件的状态将被着色,例如, M将是红色或绿色;然而,与正常的git status不同,这些文件不会着色。它们显示您终端的默认颜色。git状态颜色全行-s

有没有办法使文件与他们的状态相同,同时仍然使用短格式输出?

回答

3

这是不是与本地git的直接可能,为t/t7508-status.sh测试脚本说明:

test_expect_success 'status with color.status' ' 
    test_config color.status always && 
    git status | test_decode_color >output && 
    test_i18ncmp expect output 
' 

cat >expect <<\EOF 
<RED>M<RESET> dir1/modified 
<GREEN>A<RESET> dir2/added 
<BLUE>??<RESET> dir1/untracked 
<BLUE>??<RESET> dir2/modified 
<BLUE>??<RESET> dir2/untracked 
<BLUE>??<RESET> untracked 
EOF 

正如你所看到的,颜色是正确短期状态指示灯复位后,右文件名。


注意:现在唯一的变化(GIT 2.13.x/2.14,Q3 2017)是关于分支颜色。

请参阅commit 75177c8(2017年4月27日)作者Jeff King (peff)
请参阅commit 93fdf30(2017年4月22日)作者:Stephen Kent (stevejameskent)
(在commit 3900254Junio C Hamano -- gitster --合并,2017年5月16日)

status:添加颜色配置插槽分支信息在 “--short --branch

添加颜色配置插槽中的地位短期使用格式为 显示本地和远程跟踪分支信息。

+0

该死的。感谢您的澄清。如果有人有一些疯狂的解决方法涉及解析输出或一个正常的'git status'输出,我会把它一直打开到明天。 – 2015-04-02 23:56:03