Git
简体中文 ▾ Topics ▾ Latest version ▾ git-difftool last updated in 2.45.0

名称

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

概述

git difftool [<选项>] [<提交> [<提交>]] [--] [<路径>…​]

描述

git difftool 是一条 Git 命令,它允许你使用常用的差异工具在不同版本之间比较和编辑文件。 git difftoolgit diff 的前端,接受相同的选项和参数。参见 git-diff[1]

选项

-d
--dir-diff

把修改过的文件复制到一个临时位置,然后对它们进行目录比较。这种模式在启动差异工具之前从不提示。

-y
--no-prompt

在启动差异工具之前不要提示。

--prompt

在每次调用差异工具之前提示。 这是默认行为;提供该选项是为了覆盖任何配置设置。

--rotate-to=<文件>

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

--skip-to=<文件>

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

-t <工具>
--tool=<工具>

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

如果没有指定差异工具,git difftool 将使用配置变量 diff.tool。 如果配置变量 diff.tool 没有设置,git difftool 将选择一个合适的默认值。

你可以通过设置配置变量 difftool.<工具>.path 来明确提供工具的完整路径。例如,你可以通过设置 difftool.kdiff3.path 来配置 kdiff3 的绝对路径。否则,git difftool 会假定该工具在 PATH 中可用。

通过在配置变量 difftool.<工具>.cmd 中指定要调用的命令行,可以定制 git difftool,而不是运行一个已知的比较工具,以运行一个替代程序。

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

--tool-help

列出可以和 --tool 命令一起使用的 diff 工具。

--dir-diff 模式下运行时,git difftool 的默认行为是创建指向工作目录树的符号链接,比较的右侧结果与工作目录树中的文件内容相同。

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

-x <命令>
--extcmd=<命令>

指定一个用于查看差异的自定义命令。 git-difftool 忽略了配置的默认值,当这个选项被指定时,运行`$command $LOCAL $REMOTE`。 此外,`$BASE`在环境中被设置。

-g
--[no-]gui

当使用 -g--gui 选项调用 git-difftool 时,默认的差异工具将从配置的 diff.guitool 变量中读取,而不是 diff.tool。这可以通过配置变量 difftool.guiDefault 自动选择。可以使用 --no-gui 选项来覆盖这些设置。如果未设置 diff.guitool,我们将按照 merge.guitool, diff.tool, merge.tool 的顺序进行回退,直到找到工具为止。

--[no-]trust-exit-code

Errors reported by the diff tool are ignored by default. Use --trust-exit-code to make git-difftool exit when an invoked diff tool returns a non-zero exit code.

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

关于支持的选项的完整列表,见 git-diff[1]

配置

当差异工具等价物没有被定义时,git difftool 会返回到 git mergetool 配置变量。

Warning

Missing zh_HANS-CN/includes/cmd-config-section-rest.txt

See original version for this content.

Warning

Missing zh_HANS-CN/config/difftool.txt

See original version for this content.

参见

git-diff[1]

显示提交之间的变化,提交和工作区,等等

git-mergetool[1]

运行合并冲突解决工具来解决合并冲突

git-config[1]

获取和设置仓库或全局选项

GIT

属于 git[1] 文档

scroll-to-top