git-mergetool(1) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | TEMPORARY FILES | GIT | COLOPHON

GIT-MERGETOOL(1)               Git Manual               GIT-MERGETOOL(1)

NAME         top

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

SYNOPSIS         top

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

DESCRIPTION         top

       Use git mergetool to run one of several merge utilities to
       resolve merge conflicts. It is typically run after git merge.

       If one or more <file> parameters are given, the merge tool
       program will be run to resolve differences on each file (skipping
       those without conflicts). Specifying a directory will include all
       unresolved files in that path. If no <file> names are specified,
       git mergetool will run the merge tool program on every file with
       merge conflicts.

OPTIONS         top

       -t <tool>, --tool=<tool>
           Use the merge resolution program specified by <tool>. Valid
           values include emerge, gvimdiff, kdiff3, meld, vimdiff, and
           tortoisemerge. Run git mergetool --tool-help for the list of
           valid <tool> settings.

           If a merge resolution program is not specified, git mergetool
           will use the configuration variable merge.tool. If the
           configuration variable merge.tool is not set, git mergetool
           will pick a suitable default.

           You can explicitly provide a full path to the tool by setting
           the configuration variable mergetool.<tool>.path. For
           example, you can configure the absolute path to kdiff3 by
           setting mergetool.kdiff3.path. Otherwise, git mergetool
           assumes the tool is available in PATH.

           Instead of running one of the known merge tool programs, git
           mergetool can be customized to run an alternative program by
           specifying the command line to invoke in a configuration
           variable mergetool.<tool>.cmd.

           When git mergetool is invoked with this tool (either through
           the -t or --tool option or the merge.tool configuration
           variable) the configured command line will be invoked with
           $BASE set to the name of a temporary file containing the
           common base for the merge, if available; $LOCAL set to the
           name of a temporary file containing the contents of the file
           on the current branch; $REMOTE set to the name of a temporary
           file containing the contents of the file to be merged, and
           $MERGED set to the name of the file to which the merge tool
           should write the result of the merge resolution.

           If the custom merge tool correctly indicates the success of a
           merge resolution with its exit code, then the configuration
           variable mergetool.<tool>.trustExitCode can be set to true.
           Otherwise, git mergetool will prompt the user to indicate the
           success of the resolution after the custom tool has exited.

       --tool-help
           Print a list of merge tools that may be used with --tool.

       -y, --no-prompt
           Don’t prompt before each invocation of the merge resolution
           program. This is the default if the merge resolution program
           is explicitly specified with the --tool option or with the
           merge.tool configuration variable.

       --prompt
           Prompt before each invocation of the merge resolution program
           to give the user a chance to skip the path.

       -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.

       --no-gui
           This overrides a previous -g or --gui setting and reads the
           default merge tool will be read from the configured
           merge.tool variable.

       -O<orderfile>
           Process files in the order specified in the <orderfile>,
           which has one shell glob pattern per line. This overrides the
           diff.orderFile configuration variable (see git-config(1)). To
           cancel diff.orderFile, use -O/dev/null.

TEMPORARY FILES         top

       git mergetool creates *.orig backup files while resolving merges.
       These are safe to remove once a file has been merged and its git
       mergetool session has completed.

       Setting the mergetool.keepBackup configuration variable to false
       causes git mergetool to automatically remove the backup as files
       are successfully merged.

GIT         top

       Part of the git(1) suite

COLOPHON         top

       This page is part of the git (Git distributed version control
       system) project.  Information about the project can be found at
       ⟨http://git-scm.com/⟩.  If you have a bug report for this manual
       page, see ⟨http://git-scm.com/community⟩.  This page was obtained
       from the project's upstream Git repository
       ⟨https://github.com/git/git.git⟩ on 2020-12-18.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2020-12-17.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Git 2.30.0.rc0.82.gb           12/18/2020               GIT-MERGETOOL(1)

Pages that refer to this page: git(1)git-config(1)git-difftool(1)git-gui(1)git-merge(1)