SYNOPSIS

git difftool [--tool=<tool>] [-y|--no-prompt|--prompt] [<git diff options>]

DESCRIPTION

git-difftool is a git command that allows you to compare and edit files between revisions using common diff tools. git difftool is a frontend to git-diff and accepts the same options and arguments.

OPTIONS

-y
--no-prompt

Do not prompt before launching a diff tool.

--prompt

Prompt before each invocation of the diff tool. This is the default behaviour; the option is provided to override any configuration settings.

-t <tool>
--tool=<tool>

Use the diff tool specified by <tool>. Valid merge tools are: kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, diffuse, opendiff and araxis.

If a diff tool is not specified, git-difftool will use the configuration variable diff.tool. If the configuration variable diff.tool is not set, git-difftool will pick a suitable default.

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

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

When git-difftool is invoked with this tool (either through the -t or --tool option or the diff.tool configuration variable) the configured command line will be invoked with the following variables available: $LOCAL is set to the name of the temporary file containing the contents of the diff pre-image and $REMOTE is set to the name of the temporary file containing the contents of the diff post-image. $BASE is provided for compatibility with custom merge tool commands and has the same value as $LOCAL.

See git-diff(1) for the full list of supported options.

CONFIG VARIABLES

git-difftool falls back to git-mergetool config variables when the difftool equivalents have not been defined.

diff.tool

The default diff tool to use.

difftool.<tool>.path

Override the path for the given tool. This is useful in case your tool is not in the PATH.

difftool.<tool>.cmd

Specify the command to invoke the specified diff tool.

See the --tool=<tool> option above for more details.

difftool.prompt

Prompt before each invocation of the diff tool.

SEE ALSO

git-diff(1)

Show changes between commits, commit and working tree, etc

git-mergetool(1)

Run merge conflict resolution tools to resolve merge conflicts

git-config(1)

Get and set repository or global options

AUTHOR

Written by David Aguilar <davvid@gmail.com>.

Documentation

Documentation by David Aguilar and the git-list <git@vger.kernel.org>.

GIT

Part of the git(1) suite