先日も以下の記事で文字化け問題について取り上げたが、またShift-JISのファイルを扱う上での文字化け問題に遭遇した。

今回はGit編である。

GitクライアントはSourceTreeを使っているのだが、Shift-JISで作られたファイルの差分を確認しようとすると以下のとおり文字化けが発生する。

今回はこの問題についての解決方法を紹介する。

設定ファイル(.gitattributes)の追加

まずプロジェクトのルートディレクトリ(.gitフォルダと同階層のディレクトリ)に「.gitattributes」という名前でテキストファイルを作成する。

そしてファイル内にShift-JISとして管理するファイル形式を定義する。

# 全てのHTMLファイル
*.html diff=sjis

# 全てのtxtファイル
*.txt diff=sjis

git configコマンドの実行

次に同じくルートディレクトリにて、以下のコマンドを実行する。

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

これで差分表示における文字化け問題は解決する。

SourceTreeで、更新したファイルをインデックスに追加し、差分内容を見てみよう。

日本語部分が綺麗に表示されるようになった。