【发布时间】:2022-11-20 04:25:06
【问题描述】:
当我调用 git diff 时,我正在尝试使用 exiftool 从图像中获取一些元数据。我试图关注this,但我得到的唯一结果是
diff --git a/image.jpg b/image.jpg
index 4b0f38f..7fdca8e 100644
Binary files a/image.jpg and b/image.jpg differ
没有像他们声称的那样的 EXIF 数据,即使 exiftool image.jpg 工作并返回 EXIF 数据。
我将 *.jpg diff=exif 添加到.git 属性然后我运行了命令git config diff.exif.textconv exiftool,但是当我更改图像时,将它添加到暂存区并执行git diff --staged,这就是我得到的。
那么,这是一个错误,是文档错误还是为什么我没有得到我期望的差异?
【问题讨论】:
-
问题似乎是您正在寻找二进制数据之间的差异。你能创建两个文本文件并运行类似的比较吗?
-
我无法重现这个;对我来说很好用:
git init test; cd test; curl http://placekitten.com/200/300 > kitten.jpg; git config diff.exif.textconv exiftool; echo '*.jpg diff=exif' > .gitattributes; git add .; git commit -m'First commit'; curl http://placekitten.com/400/300 > kitten.jpg; git add .; git diff --staged -
@Thomas - ACK,但 OP 在提交 diff 时失败(如图所示),你也可以测试它吗?
-
@LazyBadger 我不明白。据我所知,OP 像我一样运行
git diff --staged(-staged中的单个连字符显然是错字)。你想让我测试什么命令? -
@Thomas - 2个变更集中的差异文件,我预计它会失败。但我可能是错的