git mergetool
Name
git-mergetool - 运行合并冲突解决工具来解决合并冲突
概要
git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…]
描述
使用git mergetool
运行的几种合并一个实用程序来解决合并冲突。它通常在之后运行git merge
。
如果给出一个或多个<file>参数,则将运行合并工具程序以解决每个文件上的差异(跳过那些没有冲突的文件)。指定一个目录将包含该路径中所有未解析的文件。如果未指定<文件>名称,git mergetool
则会在每个存在合并冲突的文件上运行合并工具程序。
选项
-t <tool> --tool=<tool>
使用<tool>指定的合并解析程序。有效值包括emerge,gvimdiff,kdiff3,meld,vimdiff和tortoisemerge。运行git mergetool --tool-help
有效的<工具>设置列表。
如果没有指定合并解析程序,git mergetool
将使用配置变量merge.tool
。如果配置变量merge.tool
没有设置,git mergetool
会选择一个合适的默认值。
您可以通过设置配置变量明确提供工具的完整路径mergetool.<tool>.path
。例如,您可以通过设置配置kdiff3的绝对路径mergetool.kdiff3.path
。否则,git mergetool
假定该工具在PATH中可用。
git mergetool
可以通过指定要在配置变量中调用的命令行来定制运行其他程序,而不是运行其中一个已知的合并工具程序mergetool.<tool>.cmd
。
当git mergetool
使用此工具调用此工具时(通过-t
或--tool
选项或merge.tool
配置变量),将调用已配置的命令行并将其$BASE
设置为包含合并公共基础的临时文件的名称(如果可用); $LOCAL
设置为包含当前分支上文件内容的临时文件的名称; $REMOTE
设置为包含要合并的文件内容的临时文件的名称,并将其$MERGED
设置为合并工具应写入合并解析结果的文件的名称。
如果自定义合并工具使用其退出代码正确指示合并分辨率的成功,则可将该配置变量mergetool.<tool>.trustExitCode
设置为true
。否则,git mergetool
将在用户工具退出后提示用户指示解析成功。
--tool-help
打印可能使用的合并工具列表--tool
。
-y --no-prompt
在每次调用合并解析程序之前不要提示。如果通过--tool
选项或merge.tool
配置变量显式指定合并解析程序,则这是默认值。
--prompt
在每次调用合并解决方案之前提示,以使用户有机会跳过该路径。
-O<orderfile>
按照<orderfile>中指定的顺序处理文件,每行有一个shell glob模式。这覆盖了diff.orderFile
配置变量(请参阅git-config [1])。取消diff.orderFile
,使用-O/dev/null
。
临时文件
git mergetool*.orig
在解析合并时创建备份文件。一旦文件合并并且git mergetool
会话完成,这些文件就可以安全移除。
将mergetool.keepBackup
配置变量设置为false
导致git mergetool
在文件成功合并时自动删除备份。