HOWTO · Git

Git コンソールを着色する

Git コンソールに色を付けるさまざまな方法。

このページの内容

この記事では、色付きの出力を持つように Git ターミナルを構成する方法について説明します。使いやすいように端末を好みに合わせてカスタマイズできます。

git config コマンドを使用して色の値を設定します。さっそく始めましょう。

Git color.ui

Git color.ui は、Git カラーを処理するときにマスター変数を参照します。Git ターミナルで色を無効にするには、以下に示すように、色を false に設定する必要があります。

$ git config --global color.ui false

新しい Git ターミナルでは、変数が auto に設定されています。これにより、即時端末の出力ストリームの色が表示され、別のプロセスにパイプされた出力またはファイルに送信された出力のカラーコードが省略されます。

上記の免除を含めるために、always に設定できます。ただし、受信パイプが色付きの入力を予期していない場合、問題が発生する可能性があります。

$ git config --global color.ui always

Git の色の値

color.ui に加えて、Git は、alwaysauto、および false に設定できる他の粒状色構成もサポートしています。これらの設定には、指定された色の値があります。

Git は、通常、黒、赤、緑、黄、青、マゼンタ、シアン、白などの色の値をサポートしています。

端末がサポートしている場合は、#ff0000 のような 16 進数のカラーコードを使用して色を指定できます。

Git の色の構成

1. color.branch

このコマンドを使用して、git branch コマンドの出力色を構成します。次のような状況で使用できます。

$ git config --global color.branch <slot>

<slot> は次のいずれかになります。

  1. current:これは現在のブランチを指します。
  2. local:リポジトリ内のローカルブランチを指します。
  3. remoteref/remotes のリモートブランチ参照を参照します。
  4. upstream:アップストリームのトラッキング Git ブランチを指します。
  5. plain:その他の ref

2. color.diff

このコマンドを使用して、git diffgit log、および git show コマンドの出力色を構成します。以下のように使用できます。

$ git config --global color.diff <slot>

<slot> は次のいずれかになります。

  1. context:これは、変更を表示するために diff またはパッチに表示されるテキストコンテンツの行を指します。
  2. plain:これは context の同義語です。
  3. metagit diff のメタ情報を参照します。
  4. frag:ハンクヘッダーまたはハンクヘッダーに存在する関数を指します。
  5. olddiff で削除されたコード行を指します。
  6. newdiff に追加されたコード行を指します。
  7. commitdiff のコミットヘッダーを参照します。
  8. whitespacegit diff で空白エラーの色を設定します。

3. color.status

このブール値は、git status コマンドの色分けされた出力を構成または無効にします。以下のコンテキストで使用できます。

$ git config --global color.status <slot>

<slot> は次のいずれかになります。

  1. header:ステータス表示のヘッダーコンテンツを指します。
  2. added または updated:どちらも、追加されたがコミットされていないファイルを対象としています。
  3. changed:これは、インデックスに追加されていない変更されたファイルを指します。
  4. branch:現在のブランチを指します。
  5. untracked:すべての追跡されていないファイルを指します。
  6. unmerged:マージされていない変更のあるファイルを指します。

4. color.grep

このコマンドは、git grep 出力に色を適用します。以下のコンテキストで使用できます。

$ git config --global color.grep <slot>

<slot> は次のいずれかになります。

  1. context:コンテキスト行の一致しないテキストを指します。
  2. filename:ファイル名プレフィックスを指します。
  3. function:関数名の行を指します。
  4. linenumber:行番号のプレフィックスを指します。
  5. match:一致するテキストを参照します。