返回顶部
本页目录

difftool

使用常见的差异工具显示变化

语法

                            
  • git difftool [<options>] [<commit> [<commit>]] [--] [<path>…​]

选项

-d,--dir-diff

将修改后的文件复制到一个临时位置,并对其进行目录比较。这种模式在启动diff工具前从不提示。

-y,--no-prompt

在启动diff工具之前,请不要提示。

--prompt

每次调用diff工具前都会有提示。这是默认行为;提供的选项可以覆盖任何配置设置。

--rotate-to=<file>

开始显示给定路径的diff,在它之前的路径将移动到终点并输出。

--skip-to=<file>

开始显示给定路径的差异,跳过前面所有的路径。

-t <tool>,--tool=<tool>

使用<tool>指定的差异工具。有效值包括emerge,kompare,meld和vimdiff。运行 git difftool --tool-help 以获得有效的设置列表。

如果未指定diff工具,则 git difftool 将使用配置变量 diff.tool 。如果未设置配置变量 diff.tool ,则 git difftool 将选择合适的默认值。

您可以通过设置配置变量 difftool.<tool>.path 来显式提供该工具的完整路径。

可以通过指定命令行以在配置变量 difftool.<tool>.cmd 调用来自定义 git difftool ,以运行替代程序,而不是运行已知的diff工具之一。

当使用此工具(通过 -t--tool 选项或 diff.tool 配置变量)调用 git difftool 时,将使用以下可用变量调用已配置的命令行: $LOCAL 设置为临时名称包含差异前映像内容和 $REMOTE 被设置为包含差异后映像内容的临时文件的名称。 $MERGED 是要比较的文件的名称。提供 $BASE 是为了与自定义合并工具命令兼容,并且具有与 $MERGED 相同的值。

--tool-help

打印可以与 --tool 一起使用的差异工具列表。

--[no-]symlinks

git difftool 的默认行为是在 --dir-diff 模式下运行时,创建到工作树的符号链接,并且比较的右侧产生与工作树中文件相同的内容。

指定 --no-symlinks 指示 git difftool 创建副本。 --no-symlinks 是Windows上的默认设置。

-x <command>,–extcmd=<command>

指定用于查看差异的自定义命令。

-g,--[no-]gui

当使用 -g--gui 调用 git difftool 时,将从配置的 diff.guitool 变量而不是 diff.tool 中读取默认的diff工具。该 --no-gui 选项可用于覆盖此设置。如果 diff.guitool 没有设置,我们将在顺序后备 merge.guitool diff.toolmerge.tool 直到工具中找到。

--[no-]trust-exit-code

git difftool 在每个文件上分别调用一个diff工具。默认情况下,将忽略差异工具报告的错误。当调用的差异工具返回非零退出代码时,请使用 --trust-exit-code 使 git difftool 退出。

git difftool 当使用 --trust-exit-code 时,git-difftool将转发被调用工具的退出代码。