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

Mar*_*oma 8 pdf git

我目前meld用作Git diff工具.这很好用,但我也有一些PDF版本控制下的PDF文件.总是当我让git diff我得到通知我的丑陋信息时,那个meld无法比较那些二进制文件.

今天,我发现diffpdf哪个效果很好.但是如何配置git以使用diffpdf for PDF(并且只针对它们)?

我已经配置git使用这样的meld:

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

    #!/bin/bash
    meld "$2" "$5"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使其可执行: chmod +x git-meld

  3. 将其添加到我的配置文件: git config --global diff.external git-meld

但显然我不能简单地采用这种方式同时使用diffpdf和meld.

twa*_*erg 9

您需要查看gitattributes手册页.基本上,您创建一个外部差异驱动程序,指定用于比较特定类型文件的自定义命令(这样~/.gitconfig或者${PROJECT}/.git/config):

[diff "pdfdiff"]
    command = diffpdf
Run Code Online (Sandbox Code Playgroud)

然后指定某些类型的文件使用该diff驱动程序(in ${PROJECT}/.gitattributes{PROJECT}/some/subdir/.gitattributes):

*.pdf diff=pdfdiff
Run Code Online (Sandbox Code Playgroud)

然后除了pdf文件之外的所有内容都将使用您的正常git diff默认值,但是pdf文件将diffpdf在您调用时调用git diff...

  • 谢谢!(你不想把评论写入你的答案吗?) (2认同)