contrib / difftool / git-difftool.txton commit git-svn: Add --localtime option to "fetch" (e82f0d7)
   1git-difftool(1)
   2===============
   3
   4NAME
   5----
   6git-difftool - compare changes using common merge tools
   7
   8SYNOPSIS
   9--------
  10'git difftool' [--tool=<tool>] [--no-prompt] ['git diff' options]
  11
  12DESCRIPTION
  13-----------
  14'git difftool' is a git command that allows you to compare and edit files
  15between revisions using common merge tools.  At its most basic level,
  16'git difftool' does what 'git mergetool' does but its use is for non-merge
  17situations such as when preparing commits or comparing changes against
  18the index.
  19
  20'git difftool' is a frontend to 'git diff' and accepts the same
  21arguments and options.
  22
  23See linkgit:git-diff[7] for the full list of supported options.
  24
  25OPTIONS
  26-------
  27-t <tool>::
  28--tool=<tool>::
  29        Use the merge resolution program specified by <tool>.
  30        Valid merge tools are:
  31        kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
  32+
  33If a merge resolution program is not specified, 'git difftool'
  34will use the configuration variable `merge.tool`.  If the
  35configuration variable `merge.tool` is not set, 'git difftool'
  36will pick a suitable default.
  37+
  38You can explicitly provide a full path to the tool by setting the
  39configuration variable `mergetool.<tool>.path`. For example, you
  40can configure the absolute path to kdiff3 by setting
  41`mergetool.kdiff3.path`. Otherwise, 'git difftool' assumes the
  42tool is available in PATH.
  43+
  44Instead of running one of the known merge tool programs,
  45'git difftool' can be customized to run an alternative program
  46by specifying the command line to invoke in a configuration
  47variable `mergetool.<tool>.cmd`.
  48+
  49When 'git difftool' is invoked with this tool (either through the
  50`-t` or `--tool` option or the `merge.tool` configuration variable)
  51the configured command line will be invoked with the following
  52variables available: `$LOCAL` is set to the name of the temporary
  53file containing the contents of the diff pre-image and `$REMOTE`
  54is set to the name of the temporary file containing the contents
  55of the diff post-image.  `$BASE` is provided for compatibility
  56with custom merge tool commands and has the same value as `$LOCAL`.
  57
  58--no-prompt::
  59        Do not prompt before launching a merge tool.
  60
  61CONFIG VARIABLES
  62----------------
  63merge.tool::
  64        The default merge tool to use.
  65+
  66See the `--tool=<tool>` option above for more details.
  67
  68merge.keepBackup::
  69        The original, unedited file content can be saved to a file with
  70        a `.orig` extension.  Defaults to `true` (i.e. keep the backup files).
  71
  72mergetool.<tool>.path::
  73        Override the path for the given tool.  This is useful in case
  74        your tool is not in the PATH.
  75
  76mergetool.<tool>.cmd::
  77        Specify the command to invoke the specified merge tool.
  78+
  79See the `--tool=<tool>` option above for more details.
  80
  81
  82SEE ALSO
  83--------
  84linkgit:git-diff[7]::
  85         Show changes between commits, commit and working tree, etc
  86
  87linkgit:git-mergetool[1]::
  88        Run merge conflict resolution tools to resolve merge conflicts
  89
  90linkgit:git-config[7]::
  91         Get and set repository or global options
  92
  93
  94AUTHOR
  95------
  96Written by David Aguilar <davvid@gmail.com>.
  97
  98Documentation
  99--------------
 100Documentation by David Aguilar and the git-list <git@vger.kernel.org>.
 101
 102GIT
 103---
 104Part of the linkgit:git[1] suite