git diffでSJISの文字化けを防ぐ

技術メモ

やりたいこと

文字コードがSJISで保存されたプロジェクトをGit運用すると git diff コマンドが文字化けしてしまいます。

諸事情により文字コードはSJISから変えてはいけないこともあるため、文字化けが起きないように設定を行います。

なお、この設定を行っても git add -e 等のコマンドを実行する際にはちゃんと動作できなかったりするので、基本的には文字コードはUTF-8に変換することを検討してください。

手順

.gitattributes ファイルを作成する

# cat .gitattirubtes
*.c diff=sjis
*.h diff=sjis

git設定を変更する

git config diff.sjis.textconv "iconv -f sjis"

# 削除したいときは --unset
git config --unset diff.sjis.textconv

参考

タイトルとURLをコピーしました