Gitコンソールに色を付けるには?


371

最近git、Windows のコンソールに色が付いているのを見ました。たとえば、追加の場合は緑、削除の場合は赤などです。どのようにgitコンソールに色を付けるのですか?

それをインストールするには、次のコマンドを使用しました。 $ sudo apt-get install git-core


6
git1.8.4以降、デフォルトで色が表示されます。以下の私の答えを参照しください。
VonC 2013年

1
Ubuntu 14.04の@VonC git 1.9.1は発生しませんでした。JoelPurraの答えを自分で設定する必要がありました。
イズカタ

1
@Izkata奇妙です、後でテストしますが、Git 2.1以降はどうですか?(stackoverflow.com/questions/10998792/…で以下にコメントしたように)
VonC

回答:


682

指摘により@VonCcolor.uiデフォルトautoのGit 1.8.4以降


UnixとLinuxのStackexchange質問からgitの出力に色を付ける方法は?そして@Evgenyによる答え

git config --global color.ui auto

color.uiすべての様々な含まれたメタ構造であるcolor.*と利用可能な構成gitのコマンドを。これについては、で詳しく説明していgit help configます。

したがって、基本的には、さまざまなcolor.*設定を個別に設定するよりも簡単で、将来に備えています。

git configドキュメントからの詳細な説明:

color.ui:この変数は、以下のような変数のデフォルト値を決定color.diffし、color.grepその制御コマンド家族あたりの色の使用を。--colorオプションのデフォルトを設定する構成を学習するコマンドが増えるにつれて、その範囲は拡大します。設定してくださいalwaysあなたはすべての出力が使用色にマシンの消費のために意図していない場合は、にtrueauto端末に書かれたときに、使用色に、このような出力をしたい場合、またはにfalseまたはnever一部を明示的に有効にしない限り、あなたが使用していない色にgitのコマンドを好む場合他の構成または--colorオプション。


11
OSX上のこの作品は、あまりにもだけでなく、Linuxの質問が求めていたとして
StackExchange何ザ・ヘックを

おそらく最後に「true」を追加する必要があります。git config --global color.ui auto true
Vamshi

6
@Skeptor:いいえ、auto十分です。
Joel Purra 14

2
@ファニー:はい、それは永続的です。
Joel Purra 2014

5
ユーザーのファイルのセクションにui = autoエントリを追加するため、永続的です。[color]~/.gitconfig
Andris

55

たとえば、https://web.archive.org/web/20080506194329/http://www.arthurkoziel.com/2008/05/02/git-configuration/を参照してください。

興味深い部分は

色分けされた出力:

git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto

3
古いバージョンのgitを使用color.ui autoしていますが、設定が機能しませんでした。ありがとうございました。
マットK

30

.gitconfigファイルに次のコードを追加します。

  [color]
    ui = auto
  [color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
  [color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
  [color "status"]
    added = yellow
    changed = green
    untracked = cyan

7

必要に応じて、Gitはほとんどの出力に自動的に色を付けます。何をどのように色付けしたいか、非常に具体的にすることができます。ただし、すべてのデフォルトのターミナルの色付けをオンにするには、color.uiをtrueに設定します。

git config --global color.ui true

6

Ubuntuまたはその他のプラットフォーム(はい、Windowsも!)開始git1.8.4れた、2013年8月23日にリリースし何もする必要はありません

多くのチュートリアルでは、「user.name/email」を設定してGitを紹介した後、最初に「color.ui」を「auto」に設定することをユーザーに教えています。これで、変数のデフォルトは " auto"になります。

したがって、デフォルトで色が表示されます。


2
(まあ、Windowsでも、端末によって異なります:stackoverflow.com/a/12133244/6309
VonC

2
2014年にUbuntuを使用して、gitをインストールしましたが、それでも実行する必要がありましたgit config --global color.ui auto。私のMacにも同じことが当てはまり、デフォルトでautoWindows PCのGit Bash だけがデフォルトでした。
sargas 14年

1
確かに@sargas、あなたがインストールする必要がPPAからlaunchpad.net/~git-core/+archive/ppa(Ubuntuの場合)またはgit-scm.com/download/mac(Mac用)
VonC

1
なるほど、それはソースによって異なります。これについてコメントしていただきありがとうございます。
sargas 14年

6

あなたには~/.gitconfig、ファイル、単純にこれを追加します。

[color]
  ui = auto

すべてのgitコマンドを処理します。


5

別の方法は、.gitconfig(存在しない場合は作成する)を編集することです。たとえば、次のようにします。

vim ~/.gitconfig

次に追加します:

[color]
  diff = auto
  status = auto
  branch = auto

3
@ chuntao-luで述べたよう[color] ui = autoに十分です。
Chacko Mathew 2014

5

GITはデフォルトでカラー出力を使用しますが、CentOSなどの一部のシステムでは有効になっていません。このように有効にできます

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

ここから必要なコマンドを選択できます。

ここで--globalはオプションで、システム内のすべてのリポジトリにアクションを適用します。現在のリポジトリのみにカラーリングを適用したい場合は、次のようなことができます-

 git config color.ui  true 

1

Git 2.18では、コンソールで色を指定する方法をより詳細に制御できます。
git config」コマンドは--int、「」、「--bool」などの個別のオプションを使用して、発信者が値として解釈するタイプを指定します

新しい「--type=<typename>」オプションが導入されました。これにより、新しいタイプをより簡単に定義できます。

commit fb0dc3b(2018年4月18日)、およびTaylor Blau()によるcommit 0a8950b(2018年4月9日)を参照してください。(による合併Junio C浜野- -e3e042bをコミットし、2018年5月8日)ttaylorr
gitster

builtin/config.c:の--type=<type>優先エイリアスとしてサポート--<type>

git configは長い間、呼び出し側が「タイプ指定子」を提供できるようにしてきました。これはgit config、(1)入力値をそのタイプとして解釈できるようにし、(2)出力値をそのタイプで正規化するように指示します。

別のシリーズでは、この機能をで拡張し--type=color--defaultを置き換えることを提案し --get-colorます。

ただし、私たちは伝統的--colorに「この値は色として扱われるべき」ではなく「この出力に色を付ける」という意味で使用しています。

現在、git configはこの種のカラー化をサポートしていませんが、このオプションをすぐにしゃがむのを避けるように注意する必要があります。そうするgit configこと--colorで、(従来の意味で)将来サポートできるようになり ます。

このパッチでは、我々はサポート--type=<int|bool|bool-or-int|...>に加えて--int--bool、およびなど
これが経由して、デフォルトのカラー値を照会サポートに前述の今後のパッチを可能に--type=color --default=...浪費せずに、--color

複数のレガシースタイルの--<type>フラグが指定された場合に不平を言うという歴史的な動作を保持し、これを競合する新しいスタイルの--type=<type>フラグに拡張します。--int --type=int(およびその可換ペア)は文句を言いませんが、(そしてその可換ペア)は文句を言い--bool --type=intます。

だから、持っていた前--bool--int今、(文書を):

--type <type>

' git config'は、入力または出力が特定の型制約の下で有効であることを確認し、出力値を<type>'の正規形式で正規化します。

有効なもの<type>は次のとおりです。

  • ' bool':値を " true"または " false"のいずれかに正規化します。
  • ' int':値を単純な10進数として正規化します。オプションのサフィックス ' k'、 ' m'、または ' g'を使用すると、入力時に値が1024、1048576、または1073741824で乗算されます。
  • ' bool-or-int':上記のように、' bool'または ' int' に従って正規化します。
  • " path「:リードを追加することにより、カノニカル化~の値に$HOMEし、~user指定したユーザのホームディレクトリに。この指定子は、値を設定するときには効果がありません(ただしgit config section.variable ~/、コマンドラインから使用して、シェルに拡張を実行させることができます)。
  • ' expiry-date':固定または相対日付文字列からタイムスタンプに変換して正規化します。この指定子は、値を設定するときには効果がありません。
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).

Git 2.22(2019年第2四半期)は「git config --type=color ...」は「を置き換えることを意図している」と説明してgit config --get-colorいますが、文書化されていなかったわずかな違いがあり、修正されました。

Jeff King()によるcommit cd8e759(2019年3月5日)を参照してください。(合併によりJunio C浜野- -f6c75e3コミット、2019年3月20日)peff
gitster

config:ドキュメント--type=color出力は完全な行です

新しい " --type=color" to " "オプションgit configは、従来の " --get-color"オプションと上位互換であることを意図していますが、後者とは異なり、その出力は、末尾にLFがない不完全な行ではありません。
これにより、 " git config --type=bool"のような他のタイプの出力と一致します。

時々無防備なユーザーを驚かせるので、それを文書化してください

これは今読みます:

--type=color [--default=<default>]より優先されます--get-color (ただし、--get-colorによって出力される末尾の改行は省​​略されます --type=color)。


git config --type=boolGit 2.26(2020年第1四半期)と一緒に使用してgit config --bool、サンプルテンプレートの" "呼び出しを置き換えることができます。

Lucius Hu()によるcommit 81e3db4(2020年1月19日)を参照してください。(合併によりJunio C浜野- -7050624コミット、2020年1月30日)をlebensterben
gitster

templates:非推奨の型オプションを修正 --bool

サインオフ:Lucius Hu

--boolオプションはgit-config、履歴としてマークされ、ユーザーが使用することをお勧めします--type=bool代わりに。
このコミットは--bool、テンプレート内のすべての出現を置き換えます。

また、他の非推奨タイプのオプションが見つからない、ことに注意してください、を含む--int--bool-or-int--path、または--expiry-date


0

ここを参照してください:https//nathanhoad.net/how-to-colours-in-git/

手順:

  1. 〜/ .gitconfigを開いて編集します

    vi〜/ .gitconfig

  2. 次のコードを貼り付けます:

    [color]
      ui = auto
    [color "branch"]
      current = yellow reverse
      local = yellow
      remote = green
    [color "diff"]
      meta = yellow bold
      frag = magenta bold
      old = red bold
      new = green bold
    [color "status"]
      added = yellow
      changed = green
      untracked = cyan
    
  3. ファイルを保存します。

ローカルリポジトリのファイルを変更して実行するだけです

git status

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