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 は、always
、auto
、および false
に設定できる他の粒状色構成もサポートしています。これらの設定には、指定された色の値があります。
Git は、通常、黒、赤、緑、黄、青、マゼンタ、シアン、白などの色の値をサポートしています。
端末がサポートしている場合は、#ff0000
のような 16 進数のカラーコードを使用して色を指定できます。
Git の色の構成
1. color.branch
このコマンドを使用して、git branch
コマンドの出力色を構成します。次のような状況で使用できます。
$ git config --global color.branch <slot>
<slot>
は次のいずれかになります。
current
:これは現在のブランチを指します。local
:リポジトリ内のローカルブランチを指します。remote
:ref/remotes
のリモートブランチ参照を参照します。upstream
:アップストリームのトラッキング Git ブランチを指します。plain
:その他のref
。
2. color.diff
このコマンドを使用して、git diff
、git log
、および git show
コマンドの出力色を構成します。以下のように使用できます。
$ git config --global color.diff <slot>
<slot>
は次のいずれかになります。
context
:これは、変更を表示するためにdiff
またはパッチに表示されるテキストコンテンツの行を指します。plain
:これはcontext
の同義語です。meta
:git diff
のメタ情報を参照します。frag
:ハンクヘッダーまたはハンクヘッダーに存在する関数を指します。old
:diff
で削除されたコード行を指します。new
:diff
に追加されたコード行を指します。commit
:diff
のコミットヘッダーを参照します。whitespace
:git diff
で空白エラーの色を設定します。
3. color.status
このブール値は、git status
コマンドの色分けされた出力を構成または無効にします。以下のコンテキストで使用できます。
$ git config --global color.status <slot>
<slot>
は次のいずれかになります。
header
:ステータス表示のヘッダーコンテンツを指します。added
またはupdated
:どちらも、追加されたがコミットされていないファイルを対象としています。changed
:これは、インデックスに追加されていない変更されたファイルを指します。branch
:現在のブランチを指します。untracked
:すべての追跡されていないファイルを指します。unmerged
:マージされていない変更のあるファイルを指します。
4. color.grep
このコマンドは、git grep
出力に色を適用します。以下のコンテキストで使用できます。
$ git config --global color.grep <slot>
<slot>
は次のいずれかになります。
context
:コンテキスト行の一致しないテキストを指します。filename
:ファイル名プレフィックスを指します。function
:関数名の行を指します。linenumber
:行番号のプレフィックスを指します。match
:一致するテキストを参照します。
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn