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将转发被调用工具的退出代码。