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

名称

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

概述

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

描述

git difftool is a Git command that allows you to compare and edit files between revisions using common diff tools. git difftool is a frontend to git diff and accepts the same options and arguments. See git-diff[1].

选项

-d
--dir-diff

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

-y
--no-prompt

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

--prompt

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

--rotate-to=<file>

Start showing the diff for the given path, the paths before it will move to the end and output.

--skip-to=<file>

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

-t <tool>
--tool=<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工具。

git difftool's default behavior is to create symlinks to the working tree when run in --dir-diff mode and the right-hand side of the comparison yields the same content as the file in the working tree.

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

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

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

-g
--[no-]gui

When git-difftool is invoked with the -g or --gui option the default diff tool will be read from the configured diff.guitool variable instead of diff.tool. This may be selected automatically using the configuration variable difftool.guiDefault. The --no-gui option can be used to override these settings. If diff.guitool is not set, we will fallback in the order of merge.guitool, diff.tool, merge.tool until a tool is found.

--[no-]trust-exit-code

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

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