私はコーディングプロジェクトに取り組んでおり、SourceTreeとgitを使用して進捗状況を追跡しています。私はgitの基本を知っていますが、プロジェクトのファイルを変更、追加、または削除するたびに、SourceTreeのコミットボタンを使用して変更をコミットします。SourceTree - 前にコミットされたANSIエンコードファイルを比較するようにgitを設定します。
私は過去のある時点で、ソースコードファイルの1つに誤ってNUL文字が含まれていることを発見しました。このファイルが保存されると、そのエンコーディングは自動的にUTF-8からANSIに変更されました。私はその時点でこれらの変更に気付きませんし、ファイルをコミットしました。間違ったファイルのエンコーディングに気付く前に、私はもう少しコミットしました。
今はファイルエンコーディングをUTF-8に戻して、ファイルを再度コミットしました。今私は、このコミットからの変更を順調に見ることができます。しかし、SourceTreeは、ファイルにANSIエンコーディングがある間は、以前のすべてのコミットの変更を表示しません。
これを解決する方法を探して、this answerとthis answerに従って.gitattributesファイルを変更しようとしましたが、SourceTreeは変更を表示することをまだ拒否しています。
私はまた、this answerに従ってgit differentを変更することができますが、その変更をどのように統合するのか分かりませんので、SourceTreeは以前の変更を表示できます。
私の質問:gitがANSIエンコーディングをサポートするようにファイルをdiffする方法はありますか?また、すべてのファイルをutf-8に自動的に変換するので、以前のコミットのSourceTreeの変更を再度見ることができますか?