为什么我的git突然神奇地能够显示pdf文件的文本差异?

时间:2019-01-17 01:45:39

标签: git git-for-windows

我的Windows 10计算机上具有git版本2.17.0.windows.1。据我所知,git应该不能将pdf文件开箱即用。我一直希望diff消息只说“二进制文件a.pdf和b.pdf不同”。

因此,我很惊讶地看到控制台有一天在带有已更新的pdf文件的存储库中打印出了这一信息:

diff --git a/assign6.pdf b/assign6.pdf
index 6e6e292..cf8f0bc 100644
--- a/assign6.pdf
+++ b/assign6.pdf
@@ -6,7 +6,7 @@

                            Late Date: NO LATE

-                                               November 10, 2018
+                                               November 26, 2018

 This assignment introduces tasks with public members, direct communication and high-level techniques for structuring
 complex interactions among tasks (versus monitor and semaphore structuring approaches). Use it to become familiar

我知道,有一种方法可以使用gitconfig中的textconv设置和gitattributes中特定文件扩展名的diff属性来显示人类可读的diffs for binary files,但是我的计算机肯定没有做过类似的事情。我只是使用exe安装程序安装了git,从那以后我还没有真正更改任何配置设置。

git config --list在该文件夹中显示:

core.symlinks=false
core.autocrlf=false
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.email={{super secret email}}
user.name={{super secret username}}
core.pager=less
core.autocrlf=false
core.whitespace=cr-at-eol
color.ui=auto
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url={{super secret url}}
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

最初,我认为这是最近在git中添加的一些新功能,但是当我在git版本为2.19.0的Ubuntu 16.04计算机上尝试进行差异比较时,控制台将输出以下内容:< / p>

diff --git a/assign6.pdf b/assign6.pdf
index 6e6e292..cf8f0bc 100644
Binary files a/assign6.pdf and b/assign6.pdf differ

所以...看起来不是吗?

那么,这种神奇的独角兽pdf差异行为从何而来?在哪里配置?

1 个答案:

答案 0 :(得分:2)

Git for Windows 2.18提及

  

.pdf文件的差异过滤器已修复。

可以断定2.17在pdf中包含一个diff过滤器。
您可以在git-for-windows/build-extra/中查看其设置。