Colors

根據 git diff –name-status 的狀態為文件名著色

  • April 6, 2019

我經常使用git diff --name-status BRANCH_NAME來獲取修改文件的列表。是否可以對該命令的輸出進行著色,類似於git status- 綠色表示添加的文件,藍色表示修改,紅色表示刪除等等。

它不是如何為 git 的輸出著色的副本?因為我想為輸出的不同部分著色,所以建議的配置文件更改不適用

我不知道任何官方的方式來做到這一點,但我剛剛寫了這個,它對我有用。

將下面的 bash 腳本放入一個名為的文件中:(color_git_diff.sh 或任何你想要的)

#!/usr/bin/env bash

for i in "$@"
do
   if  grep -q "^M" <<< "$i"
   then
       echo -e "\e[33m $i \e[0m"
   elif  grep -q "^D" <<< "$i"
   then
       echo -e "\e[31m $i \e[0m"
   fi
done

應用你會呼叫它的腳本:

git diff --name-status | xargs --delimiter="\n" ./color_git_diff.sh

顯然你不想每次都呼叫它,所以你需要將它放入你的bashrc並為其分配一個函式或別名 - 或類似的東西。

這只會為修改或刪除的文件生成彩色輸出,並且我將修改後的文件設為黃色 - 我不知道我頭頂上藍色的 ansi 轉義碼是什麼 - 我想可能\e[36m嗎?無論如何,如果您想使用它,您可以自己添加它-

引用自:https://unix.stackexchange.com/questions/243284