smudge & clean 用の git フィルターを作成する際に、フィルターがバイナリ ファイル (画像など) ではなく、テキスト ファイルに対してのみ作用するようにしたいと考えています。
ファイルがバイナリであるかどうかをgitが判断する方法はありますか? ファイルを自分でテストすることはできましたが、常に git と同じ結果が得られるとは確信していません。
安価な方法の 1 つは、ファイル拡張子を使用することです。
smudge/clean スクリプトを.gitattributes
fileで宣言すると、ファイル名のパターンに基づいて特定のファイルのリスト/グループに関連付けることができます。
特定のパスにフィルタを設定し、チェックアウト直前にファイルを処理するスクリプトを設定できます
さらに、その同じ.gitattributes
ファイルで、どのファイルがバイナリであるかどうかを git に伝えることができます。
要するに、これは宣言的なプロセスです。