75

Posh-Git中,当我在存储库中运行“git status”时,更改和未跟踪文件的颜色是深红色,当我尝试将它们配置为“正常”红色时。我想这样做是因为我有一个黑色背景的控制台,所以深红色很难阅读。

我四处搜索,似乎需要进行两项配置更改:

  1. 在 $GitPromptSettings 中将“WorkingForegroundColor”和“UntrackedForegroundColor”从“DarkRed”更改为“Red”。

  2. 在 git config 中将“color.status.changed”和“color.status.untracked”更改为红色。

根据我的阅读,这就是我需要做的所有事情,但“git status”的结果仍然是深红色。

这是一个摘要,以证明我按照我的要求设置它们,也许有人可以发现错误:

截屏

4

5 回答 5

130

的输出git status由您的 .gitconfig 文件控制。changed和文件的默认值untracked是暗淡的Red,但您可能想要Red Bold提示中的亮(默认)红色。

将以下内容添加到您的 .gitconfig 文件中:

[color]
    ui = true
[color "status"]
    changed = red bold
    untracked = red bold
    added = green bold

对于将来引用此内容的任何其他人,可接受的颜色是normal, black, red, green, yellow, blue, magenta, cyan,white以及单个可选修饰符bold, dim, ul, blink, or reverse。如果给定两种颜色,第一种是前景,第二种是背景。

于 2014-04-09T06:53:03.273 回答
64

这里只有一种方法可以将 DarkRed 更改为 Red:修改控制台窗口本身的配色方案。据我所知,git 会在列表中选择“第一个”红色(恰好是黑暗的......)。所以只需增加它的R值。

您可以直接在窗口(属性 -> 颜色)或注册表中执行此操作。提示是不同的故事:它使用 PS 颜色名称,其中 Red = Red,而不是 DarkRed...

于 2013-08-25T09:00:17.450 回答
14

要将列出的未跟踪和修改文件的颜色更改为更易读的黄色,您可以将其添加到您的 ~/.gitconfig 文件中:

[color "status"]
    untracked = bold yellow
    changed = bold yellow

同时更新 GitPrompt.ps1 以将未跟踪显示为黄色可能是一个好主意:

    UntrackedForegroundColor  = [ConsoleColor]::Yellow
    WorkingForegroundColor    = [ConsoleColor]::Yellow

编辑:GitPrompt.ps1 位于 PowerShell posh-git 文件夹中。

于 2013-12-05T08:40:52.583 回答
12

除了@WarrenB 答案。要更改状态的颜色git diff 的颜色(新行和已删除行),您必须在 .git/config 文件中包含以下内容:

[color]
ui = true
[color "status"]
changed = red bold
untracked = red bold
added = green bold
[color "diff"]
old = red bold
new = green bold

“差异”选项使您可以使用明亮(粗体)的红色和绿色。参考:https ://git-scm.com/docs/git-config#git-config-colordiff

于 2017-07-10T16:03:52.810 回答
7

您可以通过修改 PowerShell posh-git 模块文件夹中的 GitPrompt.ps1 文件的源来更改这些。我遇到了同样的问题,只是删除了此文件中第 30 行周围定义的颜色中的“深色”:

BeforeIndexForegroundColor= [ConsoleColor]::**Green**
BeforeIndexBackgroundColor= $Host.UI.RawUI.BackgroundColor

IndexForegroundColor      = [ConsoleColor]::**Green**
IndexBackgroundColor      = $Host.UI.RawUI.BackgroundColor

WorkingForegroundColor    = [ConsoleColor]::**Red**
WorkingBackgroundColor    = $Host.UI.RawUI.BackgroundColor

UntrackedText             = ' !'
UntrackedForegroundColor  = [ConsoleColor]::**Red**

这个Powershell 颜色列表也很有用。

于 2013-10-31T20:17:53.550 回答