设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
修补
调试
邮件
外部系统
服务器管理
指南
管理
底层命令
- 2.45.1 → 2.47.0 无更改
- 2.45.0 无更改
- 2.44.1 → 2.44.2 无更改
- 2.44.0 02/23/24
- 2.43.1 → 2.43.5 无更改
- 2.43.0 11/20/23
- 2.41.1 → 2.42.3 无更改
- 2.41.0 06/01/23
- 2.38.1 → 2.40.3 无更改
- 2.38.0 10/02/22
- 2.31.1 → 2.37.7 无更改
- 2.31.0 03/15/21
- 2.22.1 → 2.30.9 无更改
- 2.22.0 06/07/19
- 2.13.7 → 2.21.4 无更改
- 2.12.5 09/22/17
- 2.10.5 → 2.11.4 无更改
- 2.9.5 07/30/17
- 2.3.10 → 2.8.6 无更改
- 2.2.3 09/04/15
- 2.1.4 无更改
- 2.0.5 12/17/14
描述
git difftool 是一个 Git 命令,允许你使用常见的 diff 工具比较和编辑修订版之间的文件。git difftool 是 git diff 的前端,并接受相同的选项和参数。请参阅 git-diff[1]。
选项
- -d
- --dir-diff
-
将修改后的文件复制到临时位置,并在其上执行目录 diff。此模式在启动 diff 工具之前从不提示。
- -y
- --no-prompt
-
在启动 diff 工具之前不提示。
- --prompt
-
在每次调用 diff 工具之前提示。这是默认行为;该选项用于覆盖任何配置设置。
- --rotate-to=<file>
-
开始显示给定路径的 diff,之前的路径将移至末尾并输出。
- --skip-to=<file>
-
开始显示给定路径的 diff,跳过之前的所有路径。
- -t <tool>
- --tool=<tool>
-
使用 <tool> 指定的 diff 工具。有效值包括 emerge、kompare、meld 和 vimdiff。运行
git difftool --tool-help
以获取有效 <tool> 设置的列表。如果未指定 diff 工具,则 git difftool 将使用配置变量
diff.tool
。如果未设置配置变量diff.tool
,则 git difftool 将选择合适的默认值。可以通过设置配置变量
difftool.<tool>.path
显式提供工具的完整路径。例如,可以通过设置difftool.kdiff3.path
配置 kdiff3 的绝对路径。否则,git difftool 假设该工具在 PATH 中可用。git difftool 可以通过在配置变量
difftool.<tool>.cmd
中指定要调用的命令行来自定义为运行备用程序,而不是运行已知的 diff 工具之一。当 git difftool 使用此工具(通过
-t
或--tool
选项或diff.tool
配置变量)调用时,将调用配置的命令行,并可以使用以下变量:$LOCAL
设置为包含 diff 前映像内容的临时文件名,$REMOTE
设置为包含 diff 后映像内容的临时文件名。$MERGED
是正在比较的文件的名称。$BASE
用于与自定义合并工具命令兼容,并且具有与$MERGED
相同的值。 - --tool-help
-
打印可以使用
--tool
的 diff 工具列表。 - --[no-]symlinks
-
git difftool 的默认行为是在
--dir-diff
模式下运行时为工作树创建符号链接,并且比较的右侧产生的内容与工作树中的文件相同。指定
--no-symlinks
指示 git difftool 创建副本。在 Windows 上,--no-symlinks
为默认值。 - -x <command>
- --extcmd=<command>
-
指定用于查看差异的自定义命令。当指定此选项时,git-difftool 会忽略配置的默认值并运行
<command> $LOCAL $REMOTE
。此外,$BASE
设置在环境中。 - -g
- --[no-]gui
-
当 git-difftool 使用
-g
或--gui
选项调用时,默认 diff 工具将从配置的diff.guitool
变量而不是diff.tool
读取。这可以通过配置变量difftool.guiDefault
自动选择。--no-gui
选项可用于覆盖这些设置。如果未设置diff.guitool
,我们将按merge.guitool
、diff.tool
、merge.tool
的顺序回退,直到找到一个工具。 - --[no-]trust-exit-code
-
默认情况下,会忽略 diff 工具报告的错误。使用
--trust-exit-code
使 git-difftool 在调用的 diff 工具返回非零退出代码时退出。当使用
--trust-exit-code
时,git-difftool 将转发调用的工具的退出代码。
请参阅 git-diff[1] 以获取支持选项的完整列表。
配置
当未定义 difftool 等效项时,git difftool 会回退到 git mergetool 配置变量。
本节中此行上方的所有内容均未包含在 git-config[1] 文档中。以下内容与其中相同
- diff.tool
-
控制 git-difftool[1] 使用的 diff 工具。此变量会覆盖
merge.tool
中配置的值。下面的列表显示了有效的内置值。任何其他值都被视为自定义 diff 工具,并要求定义相应的 difftool.<tool>.cmd 变量。 - diff.guitool
-
当指定 -g/--gui 标志时,控制 git-difftool[1] 使用的 diff 工具。此变量会覆盖
merge.guitool
中配置的值。下面的列表显示了有效的内置值。任何其他值都被视为自定义 diff 工具,并要求定义相应的 difftool.<guitool>.cmd 变量。 - difftool.<tool>.cmd
-
指定调用指定 diff 工具的命令。指定的命令在 shell 中进行评估,并可以使用以下变量:LOCAL 设置为包含 diff 前映像内容的临时文件名,REMOTE 设置为包含 diff 后映像内容的临时文件名。
请参阅 git-difftool[1] 中的
--tool=<tool>
选项以获取更多详细信息。 - difftool.<tool>.path
-
覆盖给定工具的路径。如果你的工具不在 PATH 中,这很有用。
- difftool.trustExitCode
-
如果调用的 diff 工具返回非零退出状态,则退出 difftool。
请参阅 git-difftool[1] 中的
--trust-exit-code
选项以获取更多详细信息。 - difftool.prompt
-
在每次调用 diff 工具之前提示。
- difftool.guiDefault
-
设置为
true
以默认使用diff.guitool
(等效于指定--gui
参数),或设置为auto
以根据DISPLAY
环境变量值的存在来选择diff.guitool
或diff.tool
。默认值为false
,在这种情况下,必须显式提供--gui
参数才能使用diff.guitool
。
另请参阅
- git-diff[1]
-
显示提交之间、提交和工作树等之间的更改
- git-mergetool[1]
-
运行合并冲突解决工具来解决合并冲突
- git-config[1]
-
获取和设置仓库或全局选项
Git
是 git[1] 套件的一部分