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.3 → 2.40.1 no changes
- 2.38.2 12/11/22
- 2.38.1 no changes
- 2.38.0 10/02/22
- 2.37.1 → 2.37.7 no changes
- 2.37.0 06/27/22
- 2.31.1 → 2.36.6 no changes
- 2.31.0 03/15/21
描述
使用`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 configuredmerge.guitool
variable instead ofmerge.tool
. Ifmerge.guitool
is not set, we will fallback to the tool configured undermerge.tool
. This may be autoselected using the configuration variablemergetool.guiDefault
. - --no-gui
-
This overrides a previous
-g
or--gui
setting ormergetool.guiDefault
configuration and reads the default merge tool from the configuredmerge.tool
variable. - -O<顺序控制文件>
-
按照 <顺序文件> 中指定的顺序处理文件,每行有一个 shell匹配模式。 这会覆盖
diff.orderFile
配置的变量(见 git-config[1])。 可以使用使用-O/dev/null`取消 `diff.orderFile
。
配置
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
临时文件
git mergetool`在解决合并问题时创建
*.orig`备份文件。 一旦文件被合并,并且其`git mergetool`会话完成,这些文件就可以安全地删除。
将`mergetool.keepBackup`配置变量设置为`false`会使`git mergetool`在文件成功合并后自动删除备份。
GIT
属于 git[1] 文档