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 の表示から開始します。 これ以前のパスは最後の後ろに回されます(訳注:
gitdifftoolで 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>設定のリストについては、
gitdifftool--tool-helpを実行してください。diffツールが指定されていない場合、
gitdifftoolは構成変数diff.toolを使用します。 構成変数diff.toolが設定されていない場合、gitdifftoolは適切なデフォルトを選択します。あなたは構成変数
difftool.<tool>.pathを設定することにより、ツール(<tool>)へのフルパスを明示的に指定できます。 たとえば、difftool.kdiff3.pathを設定することにより、kdiff3への絶対パスを構成できます。 それ以外の場合、gitdifftoolは、ツールがPATH上にあると想定します。既知のdiffツールの1つを実行する代わりに、構成変数
difftool.<tool>.cmdで、呼び出すコマンドラインを指定することにより、gitdifftoolをカスタマイズして代替プログラムを実行できます。このツールを使用して(
-tまたは--toolオプションまたはdiff.tool構成変数を介して、)gitdifftoolを呼び出すと、構成されたコマンドラインが次の変数を使用して呼び出されます:$LOCALは、diff pre-imageの内容を含む一時ファイルの名前に設定され、$REMOTEは、diff post-imageの内容を含む一時ファイルの名前に設定されます。$MERGEDは、比較されるファイルの名前です。$BASEは、カスタムマージツールコマンドとの互換性のために提供されており、$MERGEDと同じ値です。 -
--tool-help -
--toolで使用できるdiffツールのリストを出力します。 -
--symlinks -
--no-symlinks -
gitdifftoolのデフォルトの動作は、--dir-diffモードで実行したときに、作業ツリーへのシンボリックリンクを作成することです。つまり、比較の右側は、作業ツリーのファイルの内容そのものです。--no-symlinksを指定すると、代わりにコピーを作成するようにgitdifftoolに指示します。--no-symlinksはWindowsのデフォルトです。 -
-x<command> -
--extcmd=<command> -
diff を表示するためのカスタムコマンドを指定します。
git-difftoolは、構成されたデフォルトを無視し、このオプションが指定されている場合は <command>$LOCAL$REMOTEを実行します。 さらに、$BASEが環境に設定されます。 -
-g -
--gui -
--no-gui -
git-difftoolが-gまたは--guiオプションで呼び出されると、デフォルトのdiffツールがdiff.toolではなく設定されたdiff.guitool変数から読み取られます。 これは 設定変数difftool.guiDefaultを使用して自動的に選択可能です。--no-guiオプションを使用して、この設定を上書きできます。diff.guitoolが設定されていない場合、ツールが見つかるまで、merge.guitool、diff.tool、merge.toolの順でフォールバックします。 -
--trust-exit-code -
--no-trust-exit-code -
diff ツールによって報告されたエラーは、 デフォルトでは無視されます。
--trust-exit-codeを使用すると、 呼び出された diff ツールがゼロ以外の終了コードを返したときに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 変数を定義する必要があります。-
araxis -
Use Araxis Merge (requires a graphical session)
-
bc -
Use Beyond Compare (requires a graphical session)
-
bc3 -
Use Beyond Compare (requires a graphical session)
-
bc4 -
Use Beyond Compare (requires a graphical session)
-
codecompare -
Use Code Compare (requires a graphical session)
-
deltawalker -
Use DeltaWalker (requires a graphical session)
-
diffmerge -
Use DiffMerge (requires a graphical session)
-
diffuse -
Use Diffuse (requires a graphical session)
-
ecmerge -
Use ECMerge (requires a graphical session)
-
emerge -
Use Emacs' Emerge
-
examdiff -
Use ExamDiff Pro (requires a graphical session)
-
guiffy -
Use Guiffy’s Diff Tool (requires a graphical session)
-
gvimdiff -
Use gVim (requires a graphical session)
-
kdiff3 -
Use KDiff3 (requires a graphical session)
-
kompare -
Use Kompare (requires a graphical session)
-
meld -
Use Meld (requires a graphical session)
-
nvimdiff -
Use Neovim
-
opendiff -
Use FileMerge (requires a graphical session)
-
p4merge -
Use HelixCore P4Merge (requires a graphical session)
-
smerge -
Use Sublime Merge (requires a graphical session)
-
tkdiff -
Use TkDiff (requires a graphical session)
-
vimdiff -
Use Vim
-
vscode -
Use Visual Studio Code (requires a graphical session)
-
winmerge -
Use WinMerge (requires a graphical session)
-
xxdiff -
Use xxdiff (requires a graphical session)
-
- 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