Changing "git status" output colors in Posh-Git
In Posh-Git, when I run "git status" in a repository, the colors for changes and untracked files are dark red, when I have tried to configure them to be "normal" red. I want to do this because I have a console with a dark background, so dark red is difficult to read.
I searched around, and there seem to be two configuration changes which I needed to make:
Change "WorkingForegroundColor" and "UntrackedForegroundColor" from "DarkRed" to "Red" in $GitPromptSettings.
Change "color.status.changed" and "color.status.untracked" to red in git config.
From my reading, that's all I should need to do, and yet the results of "git status" remain dark red.
Here's a summary, to prove I set them as I claimed, and maybe someone can spot the error:
The output of git status
is controlled by your .gitconfig file. The default for changed
and untracked
files is a dim Red
but you likely want Red Bold
which is the bright (default) red you have in the prompt.
Add the following to your .gitconfig file:
[color]
ui = true
[color "status"]
changed = red bold
untracked = red bold
added = green bold
For anyone else referencing this in the future, the accepted colours are normal
, black
, red
, green
, yellow
, blue
, magenta
, cyan
, and white
as well a single optional modifier bold
, dim
, ul
, blink
, or reverse
. If two colours are given the first is the foreground, and the second is the background.
There is only one way to change DarkRed to Red here: modify color scheme of console window itself. As far as I know git will pick "first" red on the list (that happens to be dark...). So just increase R value for it.
You can do it directly on window (Properties -> Colors) or in registry. Prompt is different story: it uses PS color names, where Red = Red, not DarkRed...
To change the color of the listed untracked and modified files to the more readable yellow color, you can add this to your ~/.gitconfig file:
[color "status"]
untracked = bold yellow
changed = bold yellow
Also updating you GitPrompt.ps1 to show untracked as yellow is then probably a good idea:
UntrackedForegroundColor = [ConsoleColor]::Yellow
WorkingForegroundColor = [ConsoleColor]::Yellow
Edit: GitPrompt.ps1 is found in the PowerShell posh-git folder.