git - 如何为 PDF 添加不同的 Git diff 工具?

标签 git pdf

我目前使用 meld 作为 Git diff 工具。这很好用,但我也有一些 PDF 文件在版本控制下。总是当我制作 git diff 时,我会收到丑陋的消息,告诉我,meld 无法比较那些二进制文件。

今天,我发现 diffpdf 效果很好。但是我如何配置 git 以将 diffpdf 用于 PDF(并且仅用于它们)?

我已经将 git 配置为像这样使用 meld:

  1. 创建一个名为 git-meld 的脚本:

    #!/bin/bash
    meld "$2" "$5"
    
  2. 使其可执行:chmod +x git-meld

  3. 将其添加到我的配置文件中: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/

相关文章:

git - 关于 git 中常规提交消息的问题

git - stash 提交上的 `WIP` 是什么?

git - 使用原始源代码更新 Git 中的功能分支

git - 如何在不使用分支的情况下在同一基目录中创建两个 Git 存储库?

linux - 使用 rsvg-convert 可以将多页或多文件 SVG 转换为多页 PDF 吗?

c# - ITextSharp : Text not wrapping around image within cell

Git 使用远程 merge

pdf - 如何使用 Ghostscript 设置 PDF 页面的物理大小?

python - 使用python解析pdf

html - 使用 itextsharp 转换为 pdf 时不考虑字体大小和图像大小