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

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


当前回答

另一种方法是编辑.gitconfig(如果不存在就创建一个),例如:

vim ~/.gitconfig

然后加上:

[color]
  diff = auto
  status = auto
  branch = auto

其他回答

让我们假设您希望当前分支是黄色的 所有其他分支都是青色粗体。 我正在考虑您希望这些更改在本地完成,即在您当前的存储库中,而不是在您的系统中存在的所有存储库。 使用“cd .git”进入。git文件,然后打开“config”文件。 在配置文件中输入以下内容,而不更改配置文件中的任何其他内容。

 [color]
         ui=true
    [color "branch"]
         local=cyan bold 
         current=yellow bold

然后保存配置文件。 打开git控制台,执行git分支。 你会发现其中的差别

例如,参见https://web.archive.org/web/20080506194329/http://www.arthurkoziel.com/2008/05/02/git-configuration/

有趣的是

彩色的输出: Git配置全局颜色。分支汽车 Git配置全局颜色。diff汽车 Git配置——global color.interactive auto Git配置全局颜色。地位的汽车

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

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

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

在Git 2.18中,您可以更多地控制如何在控制台中指定颜色。 “git config”命令使用单独的选项,例如:"——int", "——bool"等来指定调用者希望将值解释为什么类型。

引入了一个新的"——type=<typename>"选项,这将使定义新类型更加清晰。

参见Taylor Blau (Taylor)提交fb0dc3b(2018年4月18日)和提交0a8950b(2018年4月09日)。 (由Junio C Hamano—gitster—在commit e3e042b中合并,2018年5月8日)

builtin/config.c: support --type=<type> as preferred alias for --<type> git config has long allowed the ability for callers to provide a 'type specifier', which instructs git config to (1) ensure that incoming values can be interpreted as that type, and (2) that outgoing values are canonicalized under that type. In another series, we propose to extend this functionality with --type=color and --default to replace --get-color. However, we traditionally use --color to mean "colorize this output", instead of "this value should be treated as a color". Currently, git config does not support this kind of colorization, but we should be careful to avoid squatting on this option too soon, so that git config can support --color (in the traditional sense) in the future, if that is desired. In this patch, we support --type=<int|bool|bool-or-int|...> in addition to --int, --bool, and etc. This allows the aforementioned upcoming patch to support querying a color value with a default via --type=color --default=..., without squandering --color. We retain the historic behavior of complaining when multiple, legacy-style --<type> flags are given, as well as extend this to conflicting new-style --type=<type> flags. --int --type=int (and its commutative pair) does not complain, but --bool --type=int (and its commutative pair) does.

所以在你有——bool和——int之前,现在(文档):

--type <type>

'git config' will ensure that any input or output is valid under the given type constraint(s), and will canonicalize outgoing values in <type>'s canonical form. Valid <type>'s include: 'bool': canonicalize values as either "true" or "false". 'int': canonicalize values as simple decimal numbers. An optional suffix of 'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or 1073741824 upon input. 'bool-or-int': canonicalize according to either 'bool' or 'int', as described above. 'path': canonicalize by adding a leading ~ to the value of $HOME and ~user to the home directory for the specified user. This specifier has no effect when setting the value (but you can use git config section.variable ~/ from the command line to let your shell do the expansion.) 'expiry-date': canonicalize by converting from a fixed or relative date-string to a timestamp. This specifier has no effect when setting the value.

--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).

注意,Git 2.22 (Q2 2019)解释了“Git config -type=color…”是为了取代“Git config -get-color”,但有一个细微的差异没有被记录下来,现在已经修复了。

参见Jeff King (peff)的commit cd8e759 (05 march 2019)。 (由Junio C Hamano - gitster -在commit f6c75e3中合并,2019年3月20日)

配置:document——type=color输出是一个完整的行 即使更新的"——type=color"选项是指"git config" 为了与传统的"——get-color"选项向上兼容, 与后者不同的是,它的输出不是缺少的不完整的行 最后的LF。 这使得它与其他类型的输出一致,如“git config——type=bool”。 记录它,因为它有时会让不知情的用户感到惊讶。

现在是这样写的:

——type=color[——default=<default>]优先于——get-color (但请注意——get-color将省略打印的末尾换行符 ——类型=颜色)。


你可以看到git 2.26 (Q1 2020)中使用git config——type=bool来取代样例模板中的“git config——bool”调用。

参见Lucius Hu (lebensterben)的commit 81e3db4(2020年1月19日)。 (由Junio C Hamano合并- gitster -在提交7050624,2020年1月30日)

模板:修复已弃用的类型选项——bool 署名:Lucius Hu git-config的——bool选项被标记为历史的,建议用户使用——type=bool来代替。 此提交将替换模板中出现的所有——bool类型。 还要注意,没有找到其他不推荐的类型选项,包括——int、——boolo -or-int、——path或——expiry-date。

在你的~/。Gitconfig文件,简单地添加这个:

[color]
  ui = auto

它负责所有的git命令。