• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • git mergetool

    git mergetool:运行合并冲突解决工具,来解决合并冲突。使用git mergetool运行的几种合并一个实用程序来解决合并冲突。它通常在之后运行git merge

    语法

    git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…​]
    

    如果给出一个或多个<file>参数,则将运行合并工具程序以解决每个文件上的差异(跳过那些没有冲突的文件)。指定一个目录将包含该路径中所有未解析的文件。如果省略<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会选择一个合适的默认值。默认:kdiff3。
    • 您可以通过设置配置变量明确提供工具的完整路径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)。取消 diff.orderFile,使用-O/dev/null。


        临时文件

        git mergetool*.orig在解析合并时创建备份文件。一旦文件合并并且git mergetool会话完成,这些文件就可以安全移除。

        将 mergetool.keepBackup 配置变量设置为 false 导致git mergetool在文件成功合并时自动删除备份。

    上篇:git merge

    下篇:git rebase