3

私の差分は次のようになります:

--- a/binarytest copy.png
+++ /dev/null
@@ -1,863 +0,0 @@\n-8950 4e47 0d0a 1a0a 0000 000d 4948 4452
-0000 00c8 0000 00c8 0803 0000 009a 865e
-ac00 0000 0970 4859 7300 000b 1300 000b
-1301 009a 9c18 0000 0a4f 6943 4350 5068
-6f74 6f73 686f 7020 4943 4320 7072 6f66
-696c 6500 0078 da9d 5367 5453 e916 3df7
-def4 424b 8880 944b 6f52 1508 2052 428b
-8014 9126 2a21 0910....

これは基本的にバイナリファイルを削除しています。これを解析して、バイナリファイルが削除されたことを常に知るにはどうすればよいですか?

テキストファイルではなく、削除されたバイナリファイルかどうかを確認しようとしています。それは可能ですか?

4

1 に答える 1

2

簡単なチェックをいくつか行いました。

削除したバイナリファイルを追加してから実行すると、git diff HEAD^次のような結果が得られます。

diff --git a/junk.bin b/junk.bin
deleted file mode 100644
index 0a3970d..0000000
Binary files a/junk.bin and /dev/null differ

次に、非バイナリファイルを削除して同じgit diff HEAD^ことを行うと、次の結果が得られます。

diff --git a/text.txt b/text.txt
deleted file mode 100644
index a496efe..0000000
--- a/text.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a text file

私の提案は、git diffコマンドVSstraightを使用することですdiff。Gitは、それがバイナリファイルであるか、その差分がまっすぐではないかを通知します(つまり、「削除された」テキストはありません...削除されたファイルだけです)。

于 2013-01-26T23:13:39.103 に答える