在Posh-Git中更改“git status”输出颜色

时间:2013-08-24 15:27:17

标签: git powershell windows-7 posh-git

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

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

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

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

  3. 从我的阅读中,这就是我应该做的所有事情,但“git status”的结果仍然是暗红色。

    这是一个总结,以证明我按照我声称设置它们,也许有人可以发现错误:

    screenshot

5 个答案:

答案 0 :(得分:94)

git status的输出由.gitconfig文件控制。 changeduntracked文件的默认值为昏暗Red,但您可能需要Red Bold,这是提示中的明亮(默认)红色。

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

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

对于将来引用此内容的其他人,可接受的颜色为normalblackredgreenyellow,{{1} },bluemagentacyan以及单个可选修饰符whitebolddimul,或blink。如果给出两种颜色,则第一种是前景,第二种是背景。

答案 1 :(得分:49)

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

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

答案 2 :(得分:11)

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

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

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

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

编辑:在PowerShell posh-git文件夹中找到GitPrompt.ps1。

答案 3 :(得分:5)

您可以通过修改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 colors列表也很有用。

答案 4 :(得分:2)

除了@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

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