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


70

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

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

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

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

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

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

屏幕截图


问题是,如何用这种颜色显示这个主题?
ridermansb 2014年

Answers:


58

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

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


3
这很棒。我不知道属性中的颜色集是一切都可以借鉴的调色板。
本·王尔德

2
我不会撒谎,我对从属性窗口更改红色表示怀疑,但完全准确。好的答案=)
自由大陆

很棒!如果您使用的是标准控制台(非ISE),则也适用于Powershell。它适用于git status和posh-git。我只是转到“属性”->“颜色”,单击深红色,然后将其“红色”值更改为255。现在效果不错。非常感谢!
Tolga

很大的帮助。我对红色状态信息感到非常恼火。一直在尝试更改它,但不起作用。仅仅使15成为红色值对我来说非常有用。
Charasala

运行powershell。是最有帮助的。谢谢。
jdawiz

116

的输出git status由您的.gitconfig文件控制。changeduntracked文件的默认值是暗的,Red但您可能希望Red Bold它是提示中的鲜红色(默认)。

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

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

对于任何人在将来别人引用这一点,接受的颜色normalblackredgreenyellowbluemagentacyan,和white以及一个可选的修饰符bolddimulblink,或reverse。如果给出两种颜色,则第一种是前景,第二种是背景。


1
谢谢您-我的生活已经完成!对于可能无法使它正常工作的任何人的注释,直到我安装了最新版本的posh-git,该注释才对我不起作用。
ckapilla

4
这适用于Windows上任何版本的git,而不仅仅是posh git。
迈克尔·兰德斯

3
即使在powershell上也可以使用。+1可提高我的工作效率。
单击确定,确定

4
使用了git config <color-to-update> “foreground-color background-color attribute”类似的模式git config --global color.status.changed "cyan normal bold"
Matthew McDermott,

ui = true是什么?检查这里,部分颜色。
Timo

13

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

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

还可以将GitPrompt.ps1更新为未跟踪的黄色,这可能是个好主意:

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

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



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颜色的此列表也很有用。


2
这可以在显示缩写状态的命令提示符下更改颜色(例如:[master +1〜0 -0 | +2〜0〜0])。但是它没有改变“ git status”命令输出的颜色。BartekB的建议也没有改变。
John Pankowicz

在两个地方都为我工作,但仅在获得最新版本的posh-git时
ckapilla

工作得很好,我使用PowerShell,只是标准的混帐混帐从猛砸(什么是辣妹无论如何笑)
斯蒂芬·香槟
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.