Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.43.0 11/20/23
- 2.42.0 → 2.42.1 no changes
- 2.41.0 06/01/23
- 2.38.1 → 2.40.1 no changes
- 2.38.0 10/02/22
- 2.31.1 → 2.37.7 no changes
- 2.31.0 03/15/21
描述
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工具。
- --[no-]symlinks
-
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 configureddiff.guitool
variable instead ofdiff.tool
. This may be selected automatically using the configuration variabledifftool.guiDefault
. The--no-gui
option can be used to override these settings. Ifdiff.guitool
is not set, we will fallback in the order ofmerge.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 See original version for this content. |
Warning
|
Missing See original version for this content. |
参见
- git-diff[1]
-
显示提交之间的变化,提交和工作区,等等
- git-mergetool[1]
-
运行合并冲突解决工具来解决合并冲突
- git-config[1]
-
获取和设置仓库或全局选项
GIT
属于 git[1] 文档