ようやく実現できたのでやり方をメモ。 設定ファイルで拡張子に基づくフィルタリングをすればOK。 ProGitの情報によるとリポジトリから取ってくるときをsmudge、リポジトリに突っ込むときをcleanと呼ぶらしい。 以下はリポジトリ内のソースファイルがUTF-8 BOM有、改行コードがLFCRの場合の設定例。文字コード変換はnkfを使っています。 WindowsのVisualStudioに合わせると上記設定が望ましいが、Linux環境でgccを使うにはBOM無しにして、改行コードをLFにする必要がある。 まず.gitconfigファイルに以下を追加する [filter "fixencoding"] clean = “/usr/local/bin/nkf -w8 -Lw” smudge = “/usr/local/bin/nkf -w -Lu” これでsmudgeでUTF-8 B