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 還支援其他粒度顏色配置,可以設定為 alwaysautofalse。這些設定具有指定的顏色值。

Git 支援正常、黑色、紅色、綠色、黃色、藍色、洋紅色、青色和白色等顏色值。

如果我們的終端支援,我們可以使用像 #ff0000 這樣的十六進位制顏色程式碼來指定顏色。

Git 顏色配置

1. color.branch

我們使用這個命令來配置 git branch 命令的輸出顏色。我們可以在以下上下文中使用它。

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

<slot> 可以是以下任何一種。

  1. current:這是指當前分支。
  2. local:指我們倉庫中的本地分支。
  3. remote:指 ref/remotes 中的遠端分支引用。
  4. upstream:指上游跟蹤 Git 分支。
  5. plain:任何其他 ref

2. color.diff

我們使用這個命令來配置 git diffgit loggit show 命令的輸出顏色。我們可以使用它,如下所示。

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

<slot> 可以是以下任何一種。

  1. context:這是指顯示在 diff 或補丁中以顯示更改的文字內容行。
  2. plain:這是 context 的同義詞。
  3. meta:指 git diff 上的元資訊。
  4. frag:指向大塊頭或大塊頭中存在的函式。
  5. old:指向 diff 中已刪除的程式碼行。
  6. new:指向 diff 中新增的程式碼行。
  7. commit:指 diff 中的提交標頭。
  8. whitespace:為 git diff 中的空白錯誤設定顏色。

3. 顏色.狀態

此布林值配置或禁用 git status 命令的顏色編碼輸出。我們可以在下面的上下文中使用它。

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

<slot> 可以是以下任何一種。

  1. header:指向狀態顯示的標題內容。
  2. 新增更新:兩者都針對任何已新增但未提交的檔案。
  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:指匹配文字。