Contents
  1. 1. 前言:
  2. 2. 安裝方法:
  3. 3. 使用方法:
    1. 3.1. 如何比較兩個檔案差異:
    2. 3.2. 如何搭配 git 使用:
    3. 3.3. 也可以有更精簡的 git 用法:
    4. 3.4. 將 icdiff 設定為 git 預設比對差異工具:

前言:

在 Terminal 環境下,兩個檔案要進行差異比對,通常我們會使用系統內建的 diff 指令,效果如下:

內建的 diff 指令比對檔案差異

diff指令僅僅是將檔案差異處以上下對照呈現,並不會以顏色標示差異處,需要我們自己很傷眼的來回掃描比對才知道差異在哪裡,這樣的呈現效果不是那麼清楚。

讓我們來試試看,如果將檔案差異處以左右對照呈現的方式,並且將差異處標記上顏色,那是不是更一目了然了呢!
使用 icdiff 指令比對檔案差異

漂亮!差異處有加上顏色果然清楚多了!要達到這樣的效果,只需要改用 icdiff 這一套工具即可。

來看看 icdiff 官方是怎麼介紹的:

improved colored diff

效果如同我們上面所看到的,在檔案差異處會用顏色標記,一目了然的比對兩者的差異,找起問題容易多了。

其中各種顏色代表的意義如下:

  • 「綠色」表示「新增」。
  • 「紅色」表示「刪除」。

安裝方法:

OS X 可以直接使用 Homebrew 來安裝:

$brew install icdiff

由於 icdiff 是一個 python 開發的程式,也可以直接下載檔案來執行,請參考 GitHub 上面的說明。

使用方法:

如何比較兩個檔案差異:

$icdiff <file_1> <file_2>

備註:我們也可以將內建的 diff 指令改用 icdiff 取代。

如何搭配 git 使用:

$git difftool --extcmd icdiff

也可以有更精簡的 git 用法:

$git icdiff

只需要設定 git difftool path 指向 git-icdiff 檔案即可。

icdiff 設定為 git 預設比對差異工具:

已經習慣 git 預設的 git diff 指令了嗎?別擔心,我們可以設定 git 預設使用這一套來做差異比對,讓我們可以沿用原本熟悉的 git diff 指令,同時享用 icdiff 清楚的比對結果:

$git diff

該如何讓 $git diff 預設使用 icdiff,設定方法如下:

  1. .gitconfig 設定

    [diff]
        # 使用 icdiff 來取代 git 內建的 diff
        external = ~/bin/git-diff-wrapper.sh
    
  2. 建立 mkdir ~/bin/ 目錄

  3. 建立 ~/bin/git-diff-wrapper.sh 檔案,加入以下內容:

    #!/bin/bash
    icdiff $2 $5
    
  4. chmod 777 ~/bin/git-diff-wrapper.sh 開啟執行權限

  5. 完成!趕緊來使用 $git diff 看看吧

參考資料:

Bobo內心旁白:「為了愛護您的靈魂之窗,請趕緊改用 icdiff 來比對檔案差異吧。」

Contents
  1. 1. 前言:
  2. 2. 安裝方法:
  3. 3. 使用方法:
    1. 3.1. 如何比較兩個檔案差異:
    2. 3.2. 如何搭配 git 使用:
    3. 3.3. 也可以有更精簡的 git 用法:
    4. 3.4. 將 icdiff 設定為 git 預設比對差異工具: