SYNOPSIS
git difftool [<options>] [<commit> [<commit>]] [--] [<path>…]
DESCRIPTION
git difftool
は、一般的なdiffツールを使用してリビジョン間でファイルを比較および編集できるようにするGitコマンドです。 git difftool
は git 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
変数から読み取られます。 これは 設定変数difftool.guiDefault
を使用して自動的に選択可能です。--no-gui
オプションを使用して、この設定を上書きできます。diff.guitool
が設定されていない場合、ツールが見つかるまで、merge.guitool
、diff.tool
、merge.tool
の順でフォールバックします。 -
--[no-]trust-exit-code
-
git-difftool
は、各ファイルで個別にdiffツールを呼び出します。diff分ツールによって報告されたエラーは、デフォルトでは無視されます。呼び出されたdiffツールがゼロ以外の終了コードを返したときに--trust-exit-code`を使用して、 `git-difftool
を終了させます。git-difftool
は、--trust-exit-code
が使用されている場合、呼び出されたツールの終了コードを転送します。
サポートされているオプションの完全なリストについては、 git-diff(1) を参照してください。
CONFIGURATION
同等のdifftoolが定義されていない場合、 git difftool
は git mergetool
構成変数にフォールバックします。
このセクションのこの行より上にあるものはすべて、 git-config(1) ドキュメントには含まれていません。 以下の内容に関しては、git-config(1) ドキュメント にあるものと同一です。
- diff.tool
-
git-difftool(1) で使用する diff ツールを制御します。 この変数は、
merge.tool
で構成された値をオーバーライドします。 以下のリストは、有効な組み込み値を示しています。 その他の値はカスタム diff ツール(tool)として扱われ、対応する difftool.<tool>.cmd 変数を定義する必要があります。 - diff.guitool
-
-g
/--gui
フラグが指定されている場合に、 git-difftool(1) によって使用されるdiffツールを制御します。 この変数は、merge.guitool
で構成された値をオーバーライドします。 以下のリストは、有効な組み込み値を示しています。 その他の値はカスタム diff ツール(tool)として扱われ、対応する difftool.<guitool>.cmd 変数を定義する必要があります。 - difftool.<tool>.cmd
-
指定のdiffツール(<tool>)を呼び出すコマンドを指定します。指定されたコマンドは、次の変数を使用してシェルで評価されます:
LOCAL
は、diff pre-imageの内容を含む一時ファイルの名前に設定され、REMOTE
は、diff post-imageの内容を含む一時ファイルの名前に設定されます。詳細については、 git-difftool(1) の
--tool=<tool>
オプションを参照してください。 - difftool.<tool>.path
-
指定のツール(<tool>)のパスを上書きします。これは、あなたのツールがPATHにない場合に役立ちます。
- difftool.trustExitCode
-
呼び出された difftool がゼロ以外の終了ステータス(exit status)を返す場合は、difftool を終了(exit)します。
詳細については、 git-difftool(1) の
--trust-exit-code
オプションを参照してください。 - difftool.prompt
-
diffツールを呼び出す前にプロンプトを表示します。
- difftool.guiDefault
-
デフォルトで
diff.guitool
を使用するにはtrue
を設定します(引数--gui
を指定するのと同じです)。DISPLAY
環境変数の値に応じてdiff.guitool
またはdiff.tool
を選択するにはauto
を設定します。 なおデフォルトはfalse
で、diff.guitool
を使用するには--gui
引数を明示的に指定する必要があります。
SEE ALSO
- git-diff(1)
-
コミット、コミット、作業ツリー等の間の変更を表示する
- git-mergetool(1)
-
マージ競合解決ツールを実行して、マージ競合を解決します
- git-config(1)
-
リポジトリまたはグローバルオプションの取得と設定
GIT
Part of the git(1) suite