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

Nig*_*vel 61 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"更改为红色.

从我的阅读来看,这就是我应该做的所有事情,但"git status"的结果仍然是暗红色.

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

截图

War*_*enB 99

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

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

[color]
    ui = true
[color "status"]
    changed = red bold
    untracked = red bold
    added = green bold
Run Code Online (Sandbox Code Playgroud)

对于任何人在将来别人引用这一点,接受颜色normal,black,red,green,yellow,blue,magenta,cyan,和white以及一个可选的修饰符bold,dim,ul,blink,或reverse.如果给出两种颜色,则第一种是前景,第二种是背景.

  • 这甚至适用于 powershell。+1 表示我的生产力提升。 (4认同)
  • 这适用于Windows上任何版本的git,而不仅仅是posh git. (2认同)
  • 使用模式`git config <color-to-update>“ foreground-color background-color attribute”`,例如`git config --global color.status.changed“ cyan normal bold” (2认同)

Bar*_*ekB 50

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

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

  • 这很棒.我不知道属性中的颜色集是一个颜色调色板,一切都会从中抽取. (3认同)
  • 我不会撒谎,我对从属性窗口更改Red感到非常怀疑......但是,完全准确.很棒的答案=) (2认同)

Tho*_*sen 13

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

[color "status"]
    untracked = bold yellow
    changed = bold yellow
Run Code Online (Sandbox Code Playgroud)

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

    UntrackedForegroundColor  = [ConsoleColor]::Yellow
    WorkingForegroundColor    = [ConsoleColor]::Yellow
Run Code Online (Sandbox Code Playgroud)

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


Ade*_*ler 6

您可以通过修改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**
Run Code Online (Sandbox Code Playgroud)

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

  • 这适用于在命令提示符上更改颜色,显示缩写状态(例如:[master +1~0 -0 | + 2~0~0]).但它没有改变"git status"命令输出的颜色.BartekB的建议也没有改变. (2认同)

Lui*_*pez 5

除了@WarrenB答案。要改变现状的颜色的git的差异的颜色(新线和删除的行),你必须有这个在你的.git / config文件:

[color]
ui = true
[color "status"]
changed = red bold
untracked = red bold
added = green bold
[color "diff"]
old = red bold
new = green bold
Run Code Online (Sandbox Code Playgroud)

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