への呼び出しで違いを表示するように外部ツールを構成する方法を知っていますgit difftool
。ただし、ファイルの履歴全体のすべての変更の「ダンプ」をコンソール ウィンドウに表示したい場合は、git log -p <filename>
. 私が抱えている問題は、Windows 環境の *.sql ファイルにあります。 difftool
(私の設定したツールを使用して)Unicodeファイルを正しく処理しますが、diff
そうではありません。これは、内部で使用していると思い git log -p
ます。
特定の/構成された拡張子のファイルで「機能」する方法はありgit diff
ますか?実際には ANSI 文字しかなく、コンソールに出力された実際のテキストの変更を表示します (私の場合、コンソール内でホストされている Windows PowerShell)。
注: git diff に UTF16 を認識させることに関するこの質問/回答を見てきましたが、動作させることができませんでした (iconv と mktemp の両方がシステムに存在しませんでした)。
多分これは、唯一の解決策として検討/実験を続けるべきアプローチですか?または、私の唯一の解決策は、ANSI 文字のみが存在することがわかっているファイルが ANSI として保存されるようにすることです。*.sql ファイル (およびそれを認識していない他のファイル) で現在保持しているすべての履歴を失うのは残念です。現在、Unicode として保存されています - 私は Visual SourceSafe から新しく変換された git ユーザーなので、まだ変更したすべてのファイル タイプの違いを表示する必要はありません)。