'\" t .\" Title: git-mergetool .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 06/06/2021 .\" Manual: Git Manual .\" Source: Git 2.30.2 .\" Language: English .\" .TH "GIT\-MERGETOOL" "1" "06/06/2021" "Git 2\&.30\&.2" "Git Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" git-mergetool \- Run merge conflict resolution tools to resolve merge conflicts .SH "SYNOPSIS" .sp .nf \fIgit mergetool\fR [\-\-tool=] [\-y | \-\-[no\-]prompt] [\&...] .fi .sp .SH "DESCRIPTION" .sp Use \fBgit mergetool\fR to run one of several merge utilities to resolve merge conflicts\&. It is typically run after \fIgit merge\fR\&. .sp If one or more 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 names are specified, \fIgit mergetool\fR will run the merge tool program on every file with merge conflicts\&. .SH "OPTIONS" .PP \-t , \-\-tool= .RS 4 Use the merge resolution program specified by \&. Valid values include emerge, gvimdiff, kdiff3, meld, vimdiff, and tortoisemerge\&. Run \fBgit mergetool \-\-tool\-help\fR for the list of valid settings\&. .sp If a merge resolution program is not specified, \fIgit mergetool\fR will use the configuration variable \fBmerge\&.tool\fR\&. If the configuration variable \fBmerge\&.tool\fR is not set, \fIgit mergetool\fR will pick a suitable default\&. .sp You can explicitly provide a full path to the tool by setting the configuration variable \fBmergetool\&.\&.path\fR\&. For example, you can configure the absolute path to kdiff3 by setting \fBmergetool\&.kdiff3\&.path\fR\&. Otherwise, \fIgit mergetool\fR assumes the tool is available in PATH\&. .sp Instead of running one of the known merge tool programs, \fIgit mergetool\fR can be customized to run an alternative program by specifying the command line to invoke in a configuration variable \fBmergetool\&.\&.cmd\fR\&. .sp When \fIgit mergetool\fR is invoked with this tool (either through the \fB\-t\fR or \fB\-\-tool\fR option or the \fBmerge\&.tool\fR configuration variable) the configured command line will be invoked with \fB$BASE\fR set to the name of a temporary file containing the common base for the merge, if available; \fB$LOCAL\fR set to the name of a temporary file containing the contents of the file on the current branch; \fB$REMOTE\fR set to the name of a temporary file containing the contents of the file to be merged, and \fB$MERGED\fR set to the name of the file to which the merge tool should write the result of the merge resolution\&. .sp If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable \fBmergetool\&.\&.trustExitCode\fR can be set to \fBtrue\fR\&. Otherwise, \fIgit mergetool\fR will prompt the user to indicate the success of the resolution after the custom tool has exited\&. .RE .PP \-\-tool\-help .RS 4 Print a list of merge tools that may be used with \fB\-\-tool\fR\&. .RE .PP \-y, \-\-no\-prompt .RS 4 Don\(cqt prompt before each invocation of the merge resolution program\&. This is the default if the merge resolution program is explicitly specified with the \fB\-\-tool\fR option or with the \fBmerge\&.tool\fR configuration variable\&. .RE .PP \-\-prompt .RS 4 Prompt before each invocation of the merge resolution program to give the user a chance to skip the path\&. .RE .PP \-g, \-\-gui .RS 4 When \fIgit\-mergetool\fR is invoked with the \fB\-g\fR or \fB\-\-gui\fR option the default merge tool will be read from the configured \fBmerge\&.guitool\fR variable instead of \fBmerge\&.tool\fR\&. If \fBmerge\&.guitool\fR is not set, we will fallback to the tool configured under \fBmerge\&.tool\fR\&. .RE .PP \-\-no\-gui .RS 4 This overrides a previous \fB\-g\fR or \fB\-\-gui\fR setting and reads the default merge tool will be read from the configured \fBmerge\&.tool\fR variable\&. .RE .PP \-O .RS 4 Process files in the order specified in the , which has one shell glob pattern per line\&. This overrides the \fBdiff\&.orderFile\fR configuration variable (see \fBgit-config\fR(1))\&. To cancel \fBdiff\&.orderFile\fR, use \fB\-O/dev/null\fR\&. .RE .SH "TEMPORARY FILES" .sp \fBgit mergetool\fR creates \fB*\&.orig\fR backup files while resolving merges\&. These are safe to remove once a file has been merged and its \fBgit mergetool\fR session has completed\&. .sp Setting the \fBmergetool\&.keepBackup\fR configuration variable to \fBfalse\fR causes \fBgit mergetool\fR to automatically remove the backup as files are successfully merged\&. .SH "GIT" .sp Part of the \fBgit\fR(1) suite