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命令 VS straight diff。Git 会告诉你它是二进制文件还是它的差异不直接(即没有“删除”文本......只是一个删除的文件)。

于 2013-01-26T23:13:39.103 回答