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 04/29/24
- 2.43.1 → 2.44.2 no changes
- 2.43.0 11/20/23
- 2.41.1 → 2.42.3 no changes
- 2.41.0 06/01/23
- 2.38.3 → 2.40.3 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
- 2.22.1 → 2.30.9 no changes
- 2.22.0 06/07/19
- 2.20.1 → 2.21.4 no changes
- 2.20.0 12/09/18
- 2.12.5 → 2.19.6 no changes
- 2.11.4 09/22/17
- 2.2.3 → 2.10.5 no changes
- 2.1.4 12/17/14
- 2.0.5 12/17/14
描述
使用 git mergetool
来运行几个合并工具中的一个来解决合并冲突。 它通常在 git merge 之后运行。
如果给出一个或多个 <文件> 参数,合并工具程序会运行以解决每个文件的差异(跳过那些没有冲突的文件)。 指定一个目录将包括该路径中所有未解决的文件。 如果没有指定 <文件> 名称,git mergetool 将对每个有合并冲突的文件运行合并工具程序。
选项
- -t <工具>
- --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
-
当使用
-g
或--gui
选项调用 git-mergetool 时,默认的合并工具将从配置的merge.guitool
变量中读取,而不是merge.tool
变量。如果未设置merge.guitool
变量,我们将退回到在merge.tool
下配置的工具。这可以通过配置变量mergetool.guiDefault
自动选择。 - --no-gui
-
这将覆盖之前的
-g
或--gui
设置或mergetool.guiDefault
配置,并从配置的merge.tool
变量读取默认的合并工具。 - -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] 文档