'\" t .\" Title: git-mergetool .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 04/08/2014 .\" Manual: Git Manual .\" Source: Git 1.9.1 .\" Language: English .\" .TH "GIT\-MERGETOOL" "1" "04/08/2014" "Git 1\&.9\&.1" "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 git mergetool 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 git mergetool \-\-tool\-help for the list of valid settings\&. .sp If a merge resolution program is not specified, \fIgit mergetool\fR will use the configuration variable merge\&.tool\&. If the configuration variable merge\&.tool 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 mergetool\&.\&.path\&. For example, you can configure the absolute path to kdiff3 by setting mergetool\&.kdiff3\&.path\&. 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 mergetool\&.\&.cmd\&. .sp When \fIgit mergetool\fR 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\&. .sp If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable mergetool\&.\&.trustExitCode can be set to true\&. 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 \-\-tool\&. .RE .PP \-y, \-\-no\-prompt .RS 4 Don\(cqt prompt before each invocation of the merge resolution program\&. .RE .PP \-\-prompt .RS 4 Prompt before each invocation of the merge resolution program\&. This is the default behaviour; the option is provided to override any configuration settings\&. .RE .SH "TEMPORARY FILES" .sp 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\&. .sp Setting the mergetool\&.keepBackup configuration variable to false causes git mergetool to automatically remove the backup as files are successfully merged\&. .SH "GIT" .sp Part of the \fBgit\fR(1) suite