讓 git diff 顯示 utf-16 (或其它binary) 檔案的差異

兩種作法:

透過 difftool

unicode - Can I make git recognize a UTF-16 file as text? - Stack Overflow

$ git difftool commit1 commit2

我直接跑 difftool, 沒設定的情況會問我要不要用 vimdiff。

用 textconv

Textconv - Git SCM Wiki

這個作法比較好, 適用 git diff, show, blame。

比方說對於 iOS L10N 的檔案, 可以這麼設:

  1. 編輯 PROJECT/.git/info/attributes: 加入 *.strings diff=localizablestrings
  2. 編譯 /.gitconfig: 加入
 [diff "localizablestrings"]
 textconv = "iconv -f utf-16 -t utf-8"

留言

這個網誌中的熱門文章

(C/C++ ) 如何在 Linux 上使用自行編譯的第三方函式庫

熟悉系統工具好處多多

virtualbox 使用 USB 裝置