web-dev-qa-db-ja.com

Posh-Gitで「git status」の出力色を変更する

Posh-Git で、リポジトリで「git status」を実行すると、変更と追跡されていないファイルの色が「赤」になります。暗い背景のコンソールがあるため、これを行いたいので、濃い赤は読みにくいです。

私はあちこち検索しましたが、2つの構成変更が必要でした。

  1. $ GitPromptSettingsで「WorkingForegroundColor」と「UntrackedForegroundColor」を「DarkRed」から「Red」に変更します。

  2. Git configで「color.status.changed」と「color.status.untracked」を赤に変更します。

私の読書から、私がする必要があるのはそれだけです、それでも「git status」の結果は濃い赤のままです。

私が主張したとおりにそれらを設定したことを証明するための要約は次のとおりです。おそらく誰かがエラーを見つけることができます:

screenshot

61
NightShovel

ここでDarkRedを赤に変更する唯一の方法があります:コンソールウィンドウ自体の配色を変更します。私の知る限り、gitはリストの「最初の」赤を選択します(たまたま暗い...)。そのため、R値を増やすだけです。

ウィンドウ(プロパティ->色)またはレジストリで直接実行できます。プロンプトは別の話です:PSの色名を使用します。ここで、DarkRedではなく、Red = Redです。

51
BartekB

git statusの出力は、.gitconfigファイルによって制御されます。 changedおよびuntrackedファイルのデフォルトは薄暗いRedですが、おそらく[プロンプト]にある明るい(デフォルト)赤であるRed Boldが必要でしょう。

以下を.gitconfigファイルに追加します。

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

将来これを参照する他の人にとって、受け入れられる色は、normalblackredgreenyellowblueMagentacyan、およびwhite、および単一のオプション修飾子bolddimulblink、またはreverse。 2つの色が指定されている場合、最初の色が前景で、2番目の色が背景です。

97
WarrenB

リストされた未追跡および変更済みファイルの色をより読みやすい黄色に変更するには、これを〜/ .gitconfigファイルに追加できます。

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

また、GitPrompt.ps1を更新して、黄色として追跡されていないことを表示することも、おそらく良い考えです。

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

編集:GitPrompt.ps1は、PowerShell posh-gitフォルダーにあります。

12
Thomas Svensen

これらを変更するには、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カラー のこのリストも役立ちます。

5
Ade Miller

@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

2
Luigi Lopez