"git difftool"を使ってバイナリファイルを比較しようとしています。このファイルもステージングされていますが、これは重要ではないようです。だから私は、以下のようなものを使用しています:git difftool:zipファイルを比較する方法
git difftool --staged /path/to/file
と私の.gitconfigはそうのように構成されています。予想通り、私はgit difftool
を実行したときに
[difftool "bc3"]
path = C:/Program Files (x86)/Beyond Compare 3/BComp.com
cmd = BComp.com \"$LOCAL\" \"$REMOTE\" -lefttitle="Remote" -righttitle="$BASE" -lro
[diff]
tool = bc3
[difftool]
prompt = false
するので、それは向こうが比較開き、しかし、私はエラーを取得すること基本バイナリファイルは存在しません。修正されたローカルコピーがツールに正しくロードされます。
私は* .bcpkg(基本的にzipファイルを超えて比較する設定ファイル)と通常の* .zipファイルでこれを認識しました。しかし、* .exeファイルでうまくいくようです。私が気付いたのは、git difftool
は、Beyond Compareが閉じられていないと返されてはならないということです。しかし、zipファイルの場合、常にすぐに返されます。
ところで、他のすべてのファイルタイプのdiffは私にとってうまく機能します。私はWindows 7(64ビット)であり、Beyond Compare 3を設定しています。
Gitはバイナリファイルのdiffを私が理解しているものからうまく処理しません。これは、バイナリファイルのバージョン管理にGitを使用しない人が多い理由です。私はあなたの質問に予期せぬことは何も見ません。 –
これは不満です...「ベース」ファイルを抽出し、レポの外にファイルをステージして、私のツールを使用して手動で比較することはできますか? –
"ベース"ファイルがバイナリではなくプレーンテキスト、ソースコードなどであれば、動作するはずです。 –