我最近看到Windows中的git控制台是有颜色的,例如,绿色表示添加,红色表示删除等等。我怎么给git控制台上色呢?

要安装它,我使用命令:$ sudo apt-get install git-core


当前回答

改进win10上Git“branch-type”的颜色:在所有示例中显示命令Git branch -avv


1. Git默认配色方案:

git config --system --remove-section color.branch


2. 在本页的另一个答案中给出的分支颜色:

git config --system color.branch.local    "yellow"
git config --system color.branch.current  "yellow reverse"
git config --system color.branch.remote   "green"


3.可能改进的分支配色方案:

git config --system color.branch.local    "yellow"
git config --system color.branch.current  "brightwhite yellow"
git config --system color.branch.remote   "normal green"
git config --system color.branch.upstream "brightwhite cyan"


4. 自己制作:

指定前景色和(可选的)背景色。在Windows 10中起作用的颜色集根据下面的正则表达式给出(是的,你可以使用brightblack,它实际上非常有用):

(normal|(bright)?(black|red|green|yellow|blue|magenta|cyan|white))

据我所知,在Windows 10控制台上,暗淡选项(见底部的文档链接)没有任何作用,而粗体选项与明亮*颜色具有相同的效果。现在回想一下示例中显示的配置语法:

git config <config-type> color.branch.<slot>  "<fg> <bg>"

参数<config-type>通常是——system或——global。如果省略,指定的颜色将只应用于当前的repo。使用刚才详细介绍的颜色名称,您可以为特定的分支类型设置前景色<fg>和背景<bg>颜色,其中<slot>是以下之一:

电流(当前支路) 本地(本地分支机构) Remote (refs/remotes/中的远程跟踪分支) 上游(上游跟踪分支) 平原

像往常一样,你可以通过以下命令显示你的整个git配置,其中将包括你在这里设置的任何选项:

git config -l --show-origin

注意还有一组与日志输出颜色相关的配置选项(这里不讨论):

git config --system color.decorate.(branch|remoteBranch|tag|stash|HEAD|grafted) <color>

参考:https://git-scm.com/docs/git-config

其他回答

如果您要求,Git会自动为大部分输出上色。你可以非常具体地说明你想要什么颜色以及如何着色;但是要打开所有默认的终端颜色,请设置颜色。UI为true:

git config --global color.ui true

添加到你的.gitconfig文件下一个代码:

[color]
    ui = auto
[color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
[color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
[color "status"]
    added = yellow
    changed = green
    untracked = cyan

好吧,如果你对默认设置不满意,你可以使用ANSI转义代码来帮助你设置颜色,如果你想修改一些文本,你可以编写bash来帮助你。如下所示:

埃克斯姆普雷

# .gitconfig

[alias]
    st-color = "!f() { \
        echo -n -e '\\033[38;2;255;0;01m\\033[4m' ;\
        git status -s | grep ' D' | \
        sed -e 's/^ ./DELETE:/' ; \
        echo -n -e '\\033[m' ;\
        \
        echo -n -e '\\033[48;2;128;128;128m' ;\
        echo -n -e '\\033[38;2;0;255;01m' ;\
        git status -s | grep ' [AM]' | \
        sed -e 's/^ ./NEW OR MODIFY:/' ; \
        echo -n -e '\\033[m' ;\
        \
        echo -n -e '\\033[38;2;255;0;255m' ;\
        echo Rename ;\
        git status -s | grep 'R ' | \
        sed -e 's/^..//' ; \
        echo -n -e '\\033[m' ;\
    }; f"

demo

解释

you can write the long script on .gitconfig use the syntax as below: [alias] your-cmd = !f() { \ \ }; f" echo -n -e (see more echo) -n = Do not output a trailing newline. -e Enable interpretation of the following backslash-escaped \\033[38;2;255;0;0m\\033[4m (see more SGR parameters) \\033[38;2;255;0;0m : 38 mean fore color. 255;0;0 = Red | r;g;b \\033[4m : underline grep : The grep command is used to search text. sed -e 's/be_replace_string/new_string/' replace string to new string.

在Ubuntu或任何其他平台(是的,Windows也是!);从2013年8月23日发布的git1.8.4开始,你不需要做任何事情:

许多教程教用户设置“颜色”。将“user.name/email”设置为“auto”后的第一件事,用于向Git介绍自己。现在该变量默认为"auto"。

所以默认情况下你会看到颜色。

GIT默认使用彩色输出,但在某些系统上,如CentOS,它是不启用的。您可以像这样启用它

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

您可以从这里选择所需的命令。

这里——global是可选的,用于为系统中的每个存储库应用操作。如果你只想为当前存储库应用着色,那么你可以这样做-

 git config color.ui  true