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.45.1 → 2.46.2 no changes
- 2.45.0 no changes
- 2.44.1 → 2.44.2 no changes
- 2.44.0 02/23/24
- 2.43.1 → 2.43.5 no changes
- 2.43.0 11/20/23
- 2.41.1 → 2.42.3 no changes
- 2.41.0 06/01/23
- 2.38.1 → 2.40.3 no changes
- 2.38.0 10/02/22
- 2.31.1 → 2.37.7 no changes
- 2.31.0 03/15/21
- 2.22.1 → 2.30.9 no changes
- 2.22.0 06/07/19
- 2.13.7 → 2.21.4 no changes
- 2.12.5 09/22/17
- 2.10.5 → 2.11.4 no changes
- 2.9.5 07/30/17
- 2.3.10 → 2.8.6 no changes
- 2.2.3 09/04/15
- 2.1.4 no changes
- 2.0.5 12/17/14
描述
git difftool 是一条 Git 命令,它允许你使用常用的差异工具在不同版本之间比较和编辑文件。 git difftool 是 git diff 的前端,接受相同的选项和参数。参见 git-diff[1]。
选项
- -d
- --dir-diff
-
把修改过的文件复制到一个临时位置,然后对它们进行目录比较。这种模式在启动差异工具之前从不提示。
- -y
- --no-prompt
-
在启动差异工具之前不要提示。
- --prompt
-
在每次调用差异工具之前提示。 这是默认行为;提供该选项是为了覆盖任何配置设置。
- --rotate-to=<文件>
-
开始显示给定路径的差异,在它之前的路径将移动到终点并输出。
- --skip-to=<文件>
-
开始显示给定路径的差异,跳过前面所有的路径。
- -t <工具>
- --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
-
在
--dir-diff
模式下运行时,git difftool 的默认行为是创建指向工作目录树的符号链接,比较的右侧结果与工作目录树中的文件内容相同。指定
---no-symlinks
会指示 git difftool 创建副本。--no-symlinks
是 Windows 上的默认值。 - -x <命令>
- --extcmd=<命令>
-
指定一个用于查看差异的自定义命令。 git-difftool 忽略了配置的默认值,当这个选项被指定时,运行`$command $LOCAL $REMOTE`。 此外,`$BASE`在环境中被设置。
- -g
- --[no-]gui
-
当使用
-g
或--gui
选项调用 git-difftool 时,默认的差异工具将从配置的diff.guitool
变量中读取,而不是diff.tool
。这可以通过配置变量difftool.guiDefault
自动选择。可以使用--no-gui
选项来覆盖这些设置。如果未设置diff.guitool
,我们将按照merge.guitool
,diff.tool
,merge.tool
的顺序进行回退,直到找到工具为止。 - --[no-]trust-exit-code
-
Errors reported by the diff tool are ignored by default. Use
--trust-exit-code
to make git-difftool exit when an invoked diff tool returns a non-zero exit code.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] 文档