Git
简体中文 ▾ Topics ▾ Latest version ▾ git-mergetool last updated in 2.43.0

名称

git-mergetool - Run merge conflict resolution tools to resolve merge conflicts

概述

git mergetool [--tool=<工具>] [-y |-[no-]prompt] [<文件>…​] 。

描述

使用`git mergetool`来运行几个合并工具中的一个来解决合并冲突。 它通常在 "git merge "之后运行。

如果给出一个或多个<文件>参数,合并工具程序会运行以解决每个文件的差异(跳过那些没有冲突的文件)。 指定一个目录将包括该路径中所有未解决的文件。 如果没有指定<文件>名称,'git mergetool’将对每个有合并冲突的文件运行合并工具程序。

选项

-t <tool>
--tool=<tool>

使用由<工具>指定的合并解决程序。 有效值包括 emerge、gvimdiff、kdiff3、meld、vimdiff 和 tortoisemerge。运行`git mergetool --tool-help`以获得有效的<工具>设置列表。

如果没有指定合并解决程序,'git mergetool’将使用配置变量`merge.tool`。 如果配置变量`merge.tool`没有设置,'git mergetool’将自行挑选一个合适的程序。

你可以通过设置配置变量`mergetool.<工具>.path`来明确提供工具的完整路径。例如,你可以通过设置`mergetool.kdiff3.path`来配置kdiff3的绝对路径。否则,"git mergetool"会假定该工具在PATH中配置过。

通过在配置变量`mergetool.<工具>.cmd`中指定调用的命令行,'git mergetool’可以代替运行一个已知的合并工具程序,从而指定运行另一个程序。

当’git mergetool’与该工具一起被调用时(通过`-t`或`--tool`选项或`merge.tool`配置变量),配置的命令行将被调用,$BASE`被设置为临时文件的名称,包含合并的共同基础(如果有的话);$LOCAL`被设置为包含当前分支上的文件内容的临时文件名称;$REMOTE`被设置为包含要合并文件内容的临时文件名称,以及合并工具应该将合并的结果写入$MERGED`设置的文件中。

如果自定义合并工具能够正确地用其退出代码指示合并成功,那么配置变量`mergetool.<工具>.trustExitCode`可以被设置为`true`。 否则,'git mergetool’将在用户在自定义工具退出后表明解决成功。

--tool-help

打印出可以和"--tool"命令一起使用的merge工具列表。

-y
--no-prompt

在每次调用合并解决程序之前不会提示。 如果用`--tool`选项或`merge.tool`配置变量明确指定了合并解决程序,默认就是这种做法。

--prompt

在每次调用合并解决程序前提示,让用户有机会跳过该路径。

-g
--gui

When git-mergetool is invoked with the -g or --gui option the default merge tool will be read from the configured merge.guitool variable instead of merge.tool. If merge.guitool is not set, we will fallback to the tool configured under merge.tool. This may be autoselected using the configuration variable mergetool.guiDefault.

--no-gui

This overrides a previous -g or --gui setting or mergetool.guiDefault configuration and reads the default merge tool from the configured merge.tool variable.

-O<顺序控制文件>

按照 <顺序文件> 中指定的顺序处理文件,每行有一个 shell匹配模式。 这会覆盖 diff.orderFile 配置的变量(见 git-config[1])。 可以使用使用 -O/dev/null`取消 `diff.orderFile

配置

Warning

Missing zh_HANS-CN/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing zh_HANS-CN/config/mergetool.txt

See original version for this content.

临时文件

git mergetool`在解决合并问题时创建*.orig`备份文件。 一旦文件被合并,并且其`git mergetool`会话完成,这些文件就可以安全地删除。

将`mergetool.keepBackup`配置变量设置为`false`会使`git mergetool`在文件成功合并后自动删除备份。

BACKEND SPECIFIC HINTS

vimdiff

Warning

Missing zh_HANS-CN/mergetools/vimdiff.txt

See original version for this content.

GIT

属于 git[1] 文档

scroll-to-top