8

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

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

我已经将 git 配置为使用这样的融合:

  1. 创建一个名为git-meld

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

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

但显然我不能简单地适应这种方式来同时使用 diffpdf 和 meld。

4

2 回答 2

11

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

[diff "pdfdiff"]
    command = diffpdf

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

*.pdf diff=pdfdiff

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

于 2013-10-28T15:56:37.063 回答
0

您可以使用git difftoolman git difftool)。

$ git difftool #opens in the tool defined in config: git config --get diff.tool
$ git difftool --tool meld # Opens in meld, regardless of what you configured.
$ git difftool --tool diffpdf # Opens in diffpdf. 
于 2013-10-28T13:02:31.923 回答