2

への呼び出しで違いを表示するように外部ツールを構成する方法を知っています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 ユーザーなので、まだ変更したすべてのファイル タイプの違いを表示する必要はありません)。

4

1 に答える 1