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.tool,merge.tool直到工具中找到。 - --[no-]trust-exit-code
-
git difftool在每个文件上分别调用一个diff工具。默认情况下,将忽略差异工具报告的错误。当调用的差异工具返回非零退出代码时,请使用--trust-exit-code使git difftool退出。 -
git difftool当使用--trust-exit-code时,git-difftool将转发被调用工具的退出代码。