4

2.17.0.windows.1我的 Windows 10 计算机上有 git 版本。据我所知,git 不应该能够开箱即用地区分 pdf 文件。我一直希望差异消息只是说“二进制文件 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 属性来显示二进制文件的人类可读差异,但我当然没有为我的计算机做过类似的事情。我只是使用 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 version 的 Ubuntu 16.04 机器上尝试 diff 时2.19.0,控制台打印出以下内容:

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

所以……好像不是?

那么这个神奇的独角兽 pdf diff 行为是从哪里来的呢?这是在哪里配置的?

4

1 回答 1

2

自从Git for Windows 2.18提到

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

按理说 2.17 为 pdf 包含了一个差异过滤器。
您可以在git-for-windows/build-extra/中查看其设置。

于 2019-01-17T06:08:02.463 回答