gitで音声などのバイナリファイルが破損するときの対応方法

gitはデフォルトで改行コードの自動置換などを行うため、バイナリファイルに改行コードに該当する値が含まれている場合などにはファイルが破損してしまう。

そのような事態を防ぐためにはgitリポジトリのルートディレクトリ(.gitignoreなどと同じディレクトリ)に.gitattributesファイルを作成して、拡張子ごとにバイナリ指定する必要がある。

以下、記入例。

*           text=auto
*.txt       text
*.jpg       binary
*.png       binary
*.ico       binary
*.svg       binary
*.gif       binary
*.wav       binary
*.mp3       binary

.gitattributesは上から順に読み込まれるため、下の行が上の行の指定を上書きする形になる。

binaryを指定すると、-text-diffが指定されたものと同様の設定となり、改行コードの自動置換およびDiffが実行されなくなる。

comments powered by Disqus