SYNOPSIS

git difftool [<options>] [<commit> [<commit>]] [--] [<path>…]

DESCRIPTION

git difftool は、一般的なdiffツールを使用してリビジョン間でファイルを比較および編集できるようにするGitコマンドです。 git difftoolgit diff のフロントエンドであり、同じオプションと引数を受け入れます。 git-diff(1) を参照してください。

OPTIONS

-d
--dir-diff

変更したファイルを一時的な場所にコピーし、それらに対してディレクトリdiffを実行します。 このモードは、diffツールを起動する前にプロンプトを表示することはありません。

-y
--no-prompt

diffツールを起動する前にプロンプトを表示しないでください。

--prompt

diffツールを呼び出す前にプロンプトを表示します。 これがデフォルトの振る舞いです。 オプションは、構成設定を上書きするために提供されています。

--rotate-to=<file>

指定のパスのdiffの表示から開始します。これ以前のパスは最後の後ろに回されます(訳注: git difftool で a,b,c,d,e の場合、 --rotate-to=c とすると、 c,d,e,a,b,c の順になる)

--skip-to=<file>

その前のすべてのパスをスキップして、指定されたパスのdiffの表示から開始します(訳注: a,b,c,d,e の場合、 --skip-to=c は c,d,e)

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

<tool> で指定されたdiffツールを使用します。 有効な値には emergeやkompareやmeldやvimdiffも含まれています。有効な<tool>設定のリストについては、 git difftool --tool-help を実行してください。

diffツールが指定されていない場合、 git difftool は構成変数 diff.tool を使用します。 構成変数 diff.tool が設定されていない場合、 git difftool は適切なデフォルトを選択します。

あなたは構成変数 difftool.<tool>.path を設定することにより、ツール(<tool>)へのフルパスを明示的に指定できます。 たとえば、 difftool.kdiff3.path を設定することにより、kdiff3への絶対パスを構成できます。 それ以外の場合、 git difftool は、ツールがPATH上にあると想定します。

既知のdiffツールの1つを実行する代わりに、構成変数 difftool.<tool>.cmd で、呼び出すコマンドラインを指定することにより、 git difftool をカスタマイズして代替プログラムを実行できます。

このツールを使用して(-t または --tool オプションまたは diff.tool 構成変数を介して、) git difftool を呼び出すと、構成されたコマンドラインが次の変数を使用して呼び出されます。 $LOCAL は、diff pre-imageの内容を含む一時ファイルの名前に設定され、 $REMOTE は、diff post-imageの内容を含む一時ファイルの名前に設定されます。 $MERGED は、比較されるファイルの名前です。 $BASE は、カスタムマージツールコマンドとの互換性のために提供されており、 $MERGED と同じ値です。

--tool-help

--tool で使用できるdiffツールのリストを出力します。

--[no-]symlinks

git difftool のデフォルトの動作は、 --dir-diff モードで実行したときに、作業ツリーへのシンボリックリンクを作成することです。つまり、比較の右側は、作業ツリーのファイルそのものです。

--no-symlinks を指定すると、代わりにコピーを作成するように git difftool に指示します。 --no-symlinks はWindowsのデフォルトです。

-x <command>
--extcmd=<command>

diffを表示するためのカスタムコマンドを指定します。 git-difftool は、構成されたデフォルトを無視し、このオプションが指定されている場合は $command $LOCAL $REMOTE を実行します。 さらに、`$BASE`が環境に設定されます。

-g
--[no-]gui

git-difftool-g または --gui オプションで呼び出されると、デフォルトのdiffツールが diff.tool ではなく設定された diff.guitool 変数から読み取られます。 --no-gui オプションを使用して、この設定を上書きできます。 diff.guitool が設定されていない場合、ツールが見つかるまで、 merge.guitooldiff.toolmerge.tool の順でフォールバックします。

--[no-]trust-exit-code

git-difftool は、各ファイルで個別にdiffツールを呼び出します。diff分ツールによって報告されたエラーは、デフォルトでは無視されます。呼び出されたdiffツールがゼロ以外の終了コードを返したときに --trust-exit-code`を使用して、 `git-difftool を終了させます。

git-difftool は、 --trust-exit-code が使用されている場合、呼び出されたツールの終了コードを転送します。

サポートされているオプションの完全なリストについては、 git-diff(1) を参照してください。

CONFIG VARIABLES

同等のdifftoolが定義されていない場合、 git difftoolgit mergetool 構成変数にフォールバックします。

diff.tool

使用するデフォルトのdiffツール。

diff.guitool

--gui が指定されている場合に使用するデフォルトのdiffツール。

difftool.<tool>.path

指定されたツール(<tool>)のパスを上書きします。 これは、あなたのツールがPATH上にない場合に役立ちます。

difftool.<tool>.cmd

指定した差分ツール(<tool>)を呼び出すコマンドを指定します。

詳細については、上記の --tool=<tool> オプションを参照してください。

difftool.prompt

diffツールを呼び出す前にプロンプトを表示します。

difftool.trustExitCode

呼び出されたdiffツールがゼロ以外の終了ステータスを返した場合は、difftoolを終了します。

詳細については、上記の --trust-exit-code オプションを参照してください。

SEE ALSO

git-diff(1)

コミット、コミット、作業ツリー等の間の変更を表示する

git-mergetool(1)

マージ競合解決ツールを実行して、マージ競合を解決します

git-config(1)

リポジトリまたはグローバルオプションの取得と設定

GIT

Part of the git(1) suite