我想对 git-status 输出进行着色,以便:
untracked files = magenta
new files = green
modified files = blue
deleted files = red
我看到的是绿色的暂存文件和蓝色的未暂存文件:
我的 .gitconfig 根据一些搜索进行了以下设置:
[color]
status = auto
[color "status"]
added = green
changed = blue
untracked = magenta
deleted = red
来自 git 配置文档:
color.status.<slot>
使用自定义颜色进行状态着色。
是以下之一:<slot>
(状态消息的标题文本),header
或added
(已添加但未提交的文件),updated
(已更改但未添加到索引中的文件),changed
(git 未跟踪的文件),untracked
(当前分支),branch
(无分支警告显示的颜色,默认为红色),nobranch
或localBranch
(当分支和跟踪信息以状态短格式显示时,分别为本地和远程分支名称),remoteBranch
(具有未合并更改的文件)。unmerged
这些变量的值可以按照
中的方式指定。color.branch.<slot>
所以这会起作用:
git config color.status.changed blue
git config color.status.untracked magenta
但是:
new files = green
deleted files = red
不可能:您需要选择一种颜色:
color.status.added
的颜色。color.status.changed
的颜色。注:
颜色也可以用 0 到 255 之间的数字给出;这些使用 ANSI 256 色模式(但并非所有终端都支持此模式)。
请参阅“xterm 256 色”了解这些数字,如 Joshua Goldberg 的评论中所述。
当然,正如 elboletaire 评论:
如果之前未启用着色输出,请记住启用它:
git config --global color.ui true
肖恩·卢丁补充道:
该命令还可以在引号中包含多个参数。这包括此列表中的两种颜色(前景背景):
正常、黑色、红色、绿色、黄色、蓝色、品红色、青色和白色;
它还包括此列表中的一个属性(样式):
粗体、暗淡、ul、闪烁和反转。
所以这会起作用:
git config color.status.changed "blue normal bold"
git config color.status.header "white normal dim"
注意:使用 git 2.9.1(2016 年 7 月),输出着色方案除了现有的粗体、反向等之外,还学习了 两个新属性,italic 和 strike。
提交 9dc3515、提交 54590a0、提交 5621068、提交 df8e472、提交 ae989a6、提交 adb3356、提交 0111681 (2016 年 6 月 23 日)作者:Jeff King (peff
).
gitster
--合并于 commit 3c5de5c,2016 年 7 月 11 日) 它还允许使用“
no-
”来否定属性
使用“
no-bold
”而不是“nobold
”更容易阅读并且打字更自然(无论如何,对我来说,即使我是首先引入“nobold
”的人)。两者都允许很容易。
git config --global color.ui always
对我有用,而
git config --global color.ui true
则不然。