| git-difftool(1) |
| =============== |
| |
| NAME |
| ---- |
| git-difftool - compare changes using common merge tools |
| |
| SYNOPSIS |
| -------- |
| 'git difftool' [--tool=<tool>] [--no-prompt] ['git diff' options] |
| |
| DESCRIPTION |
| ----------- |
| 'git-difftool' is a git command that allows you to compare and edit files |
| between revisions using common merge tools. At its most basic level, |
| 'git-difftool' does what 'git-mergetool' does but its use is for non-merge |
| situations such as when preparing commits or comparing changes against |
| the index. |
| |
| 'git difftool' is a frontend to 'git diff' and accepts the same |
| arguments and options. |
| |
| See linkgit:git-diff[1] for the full list of supported options. |
| |
| OPTIONS |
| ------- |
| -t <tool>:: |
| --tool=<tool>:: |
| Use the merge resolution program specified by <tool>. |
| Valid merge tools are: |
| kdiff3, kompare, tkdiff, meld, xxdiff, emerge, |
| vimdiff, gvimdiff, ecmerge, and opendiff |
| + |
| If a merge resolution program is not specified, 'git-difftool' |
| will use the configuration variable `merge.tool`. If the |
| configuration variable `merge.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 `mergetool.<tool>.path`. For example, you |
| can configure the absolute path to kdiff3 by setting |
| `mergetool.kdiff3.path`. Otherwise, 'git-difftool' assumes the |
| tool is available in PATH. |
| + |
| Instead of running one of the known merge tool programs, |
| 'git-difftool' can be customized to run an alternative program |
| by specifying the command line to invoke in a configuration |
| variable `mergetool.<tool>.cmd`. |
| + |
| When 'git-difftool' 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 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`. |
| |
| --no-prompt:: |
| Do not prompt before launching a diff tool. |
| |
| CONFIG VARIABLES |
| ---------------- |
| merge.tool:: |
| The default merge tool to use. |
| + |
| See the `--tool=<tool>` option above for more details. |
| |
| merge.keepBackup:: |
| The original, unedited file content can be saved to a file with |
| a `.orig` extension. Defaults to `true` (i.e. keep the backup files). |
| |
| mergetool.<tool>.path:: |
| Override the path for the given tool. This is useful in case |
| your tool is not in the PATH. |
| |
| mergetool.<tool>.cmd:: |
| Specify the command to invoke the specified merge tool. |
| + |
| See the `--tool=<tool>` option above for more details. |
| |
| |
| SEE ALSO |
| -------- |
| linkgit:git-diff[1]:: |
| Show changes between commits, commit and working tree, etc |
| |
| linkgit:git-mergetool[1]:: |
| Run merge conflict resolution tools to resolve merge conflicts |
| |
| linkgit: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 linkgit:git[1] suite |