git-statusの出力に色を付ける方法は?


92

git-statusの出力を色分けして、次のようにします。

untracked files = magenta
new files = green
modified files = blue
deleted files = red

代わりに、ステージングされたファイルが緑色で、ステージングされていないファイルが青色で表示されます。 git-statusのスクリーンショット

私の.gitconfigはいくつかの検索に基づいて次のように設定されています:

[color]
status = auto

[color "status"]
added = green
changed = blue
untracked = magenta
deleted = red

2
注:git 2.9.1は、イタリックとストライクの属性をサポートしています。以下の私の編集を参照してください。
VonC

以下のこの回答はあなたの質問に対処していますか?
VonC

回答:


130

git config docから:

color.status.<slot>

ステータスの色付けにはカスタマイズされた色を使用します。<slot>の一つであります:

  • header (ステータスメッセージのヘッダーテキスト)、
  • addedまたはupdated(追加されたがコミットされていないファイル)、
  • changed (変更されているが、インデックスに追加されていないファイル)、
  • untracked (gitで追跡されないファイル)、
  • branch (現在のブランチ)、
  • nobranch (ブランチなしの警告が表示される色、デフォルトは赤)、
  • localBranchまたはremoteBranch(ブランチおよびトラッキング情報がステータスの短い形式で表示される場合、それぞれローカルおよびリモートのブランチ名)、
  • unmerged (変更がマージされていないファイル)。

これらの変数の値は、のように指定できますcolor.branch.<slot>

だからこれはうまくいくでしょう:

git config color.status.changed blue
git config color.status.untracked magenta

しかしながら:

new files = green
deleted files = red

不可能です:1つの色を選択する必要があります:

  • インデックスに追加されると、の色が選択されcolor.status.addedます。
  • インデックスに追加されていない場合は、色またはを選択します color.status.modified

もちろん、エルボレテールがコメントしように

カラー出力を以前に有効にしていない場合は、忘れずに有効にしてください。

git config --global color.ui true

Shaun Luttin氏は次のように付け加えています。

コマンドは、引用符で囲まれた複数のパラメーターを受け取ることもできます。これには、このリストの2つの色(前景の背景)が含まれます。

ノーマル、ブラック、レッド、グリーン、イエロー、ブルー、マゼンタ、シアン、ホワイト。

また、このリストには1つの属性(スタイル)が含まれています。

太字、薄暗い、ul、点滅、逆。

だからこれはうまくいくでしょう:

git config color.status.changed "blue normal bold"
git config color.status.header "white normal dim"

注:git 2.9.1(2016年7月)では、出力のカラーリングスキームは2つの新しい属性、イタリック攻撃、既存のボールド、リバースなどに加えて、

参照9dc3515をコミットし54590a0をコミットし5621068をコミットしdf8e472をコミットしae989a6をコミットしadb3356をコミットし0111681コミットにより(2016年6月23日)のジェフ・キング(peff
(合併によりJunio C浜野- gitster-コミット3c5de5c、2016年7月11日)

またno-、属性を否定するための " " も許可します

no-bold」ではなく「」を使用するnobold方が読みやすく、タイプするのが自然です(とにかく、私が「nobold」を最初に導入した人であったとしても)。両方を許可するのは簡単です。


30
:それは、以前に有効になっていない場合は、出力を着色可能にすることを忘れないでくださいgit config --global color.ui true
elboletaire

1
@elboletaire良い点。私はより多くの可視性のために答えにそれを含めました。
VonC

1
ありがとう、color.uiが答えです。
Robeezy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.