我目前使用 meld
作为 Git diff 工具。这很好用,但我也有一些 PDF 文件在版本控制下。总是当我制作 git diff
时,我会收到丑陋的消息,告诉我,meld 无法比较那些二进制文件。
今天,我发现 diffpdf
效果很好。但是我如何配置 git 以将 diffpdf 用于 PDF(并且仅用于它们)?
我已经将 git 配置为像这样使用 meld:
创建一个名为
git-meld
的脚本:#!/bin/bash meld "$2" "$5"
使其可执行:
chmod +x git-meld
- 将其添加到我的配置文件中:
git config --global diff.external git-meld
但显然我不能简单地采用这种方式来同时使用 diffpdf 和 meld。
最佳答案
您需要查看 gitattributes
手册页。基本上,您创建一个外部差异驱动程序,它指定一个自定义命令用于比较特定类型的文件(这在 ~/.gitconfig
或 ${PROJECT}/.git/config
):
[diff "pdfdiff"]
command = diffpdf
然后指定某些类型的文件使用该 diff 驱动程序(在 ${PROJECT}/.gitattributes
或 {PROJECT}/some/subdir/.gitattributes
中) :
*.pdf diff=pdfdiff
然后除 pdf 文件之外的所有内容都将使用您的正常 git diff
默认值,但是当您 git diff
它们时,pdf 文件将调用 diffpdf
.. .
关于git - 如何为 PDF 添加不同的 Git diff 工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19631432/