SYNOPSIS
git mergetool [--tool=<tool>] [-y | --[no-]prompt] [<file>…]
DESCRIPTION
git mergetool
を使用して、いくつかのマージユーティリティの1つを実行し、マージの競合を解決します。通常、 git merge
の後に実行されます。
1つ以上の <file>
パラメーターが指定されている場合、マージツールプログラムが実行され、その各ファイルの違いが解決されます(競合のないものはスキップされます)。ディレクトリを指定すると、そのパスにあるすべての未解決のファイルが含まれます。ファイル名が指定されていない場合、
git mergetool
は、マージで競合するすべてのファイルに対してマージツールプログラムを実行します。
OPTIONS
-
-t <tool>
-
--tool=<tool>
-
<tool> で指定したマージ解決プログラムを使用します。 有効な値には emerge、gvimdiff、kdiff3、meld、vimdiff、tortoisemerge が含まれます。有効な <tool> 設定のリストについては、
git mergetool --tool-help
を実行してください。マージ解決プログラムが指定されていない場合、
git mergetool
は構成変数merge.tool
を使用します。 構成変数merge.tool
が設定されていない場合、 git mergetool は適切なデフォルトを選択します。あなたは構成変数
mergetool.<tool>.path
を設定することにより、ツールへのフルパスを明示的に指定できます。たとえば、mergetool.kdiff3.path
を設定することにより、kdiff3への絶対パスを構成できます。それ以外の場合、 git mergetool はツールがPATHで使用可能であると想定します。既知のマージツールプログラムの1つを実行する代わりに、構成変数
mergetool.<tool>.cmd
で呼び出すコマンドラインを指定することにより、 git mergetool をカスタマイズして代替プログラムを実行できます。(
-t
または--tool
またはmerge.tool
構成変数のいずれかを介して)git mergetool
をこのツールで呼び出すと、構成されたコマンドラインが呼び出され、$BASE
がマージの共通ベースを含む一時ファイルの名前に設定され、使用可能な場合、$LOCAL
は現在のブランチのファイルの内容を含む一時ファイルの名前に設定され、$REMOTE
はマージされるファイルの内容を含む一時ファイルの名前に設定され、$REMOTE
はマージされるファイルの内容を含む一時ファイルの名前に設定されます。カスタムマージツールがその終了コードでマージ解決の成功を正確に示している場合、構成変数
mergetool.<tool>.trustExitCode
をtrue
に設定できます。それ以外の場合、git mergetool
は、カスタムツールが終了した後、解決の成功を示すようにユーザーに促します。 -
--tool-help
-
--tool
で使用できるマージツールのリストを出力します。 -
-y
-
--no-prompt
-
マージ解決プログラムを呼び出す前にプロンプトを表示しないでください。これは、マージ解決プログラムが
--tool
オプションまたはmerge.tool
構成変数で明示的に指定されている場合のデフォルトです。 -
--prompt
-
マージ解決プログラムを呼び出す前にプロンプトを表示して、ユーザーにパス(path)をスキップする機会を与えます。
-
-g
-
--gui
-
git-mergetool
が-g
または--gui
オプションを伴って呼び出されると、デフォルトのマージツールはmerge.tool
ではなく設定されたmerge.guitool
変数から読み取られます。merge.guitool
が設定されていない場合、merge.tool
で構成されたツールにフォールバックします。 -
--no-gui
-
これにより、以前の
-g
または--gui
設定が上書きされ、デフォルトのマージツールは構成されたmerge.tool
変数から読み取られます。 -
-O<orderfile>
-
<orderfile> で指定された順序でファイルを処理します。これには、1行に1つのシェルグロブパターンがあります。 これは
diff.orderFile
構成変数をオーバーライドします(git-config(1) を参照)。diff.orderFile
をキャンセルするには、-O/dev/null
を使用します。
CONFIGURATION
- mergetool.<tool>.path
-
指定のツール(<tool>)のパスを上書きします。 これは、ツールがPATH上にない場合に役立ちます。
- mergetool.<tool>.cmd
-
指定のマージツール(<tool>)を呼び出すコマンドを指定します。指定されたコマンドは、次の変数を使用してシェルで評価されます:
BASE
は、マージされるファイルの共通ベースを含む一時ファイルの名前です(使用可能な場合)。LOCAL
は、現在のブランチのファイルの内容を含む一時ファイルの名前です。REMOTE
は、マージされるブランチのファイルの内容を含む一時ファイルの名前です。MERGED
は、マージツールが正常なマージの結果を書き込むファイルの名前が含まれています。 - mergetool.<tool>.hideResolved
-
ユーザーが特定のツール(<tool>)のグローバルな
mergetool.hideResolved
値をオーバーライドできるようにします。 詳細については、mergetool.hideResolved
を参照してください。 - mergetool.<tool>.trustExitCode
-
カスタムマージコマンドの場合、マージコマンドの終了コードを使用してマージが成功したかどうかを判断できるかどうかを指定します。 これがtrueで無い場合、マージターゲットファイルのタイムスタンプがチェックされ、ファイルが更新されている場合はマージが成功したと見なされます。そうでない場合、ユーザーはマージの成功を示すように求められます。
- mergetool.meld.hasOutput
-
古いバージョンの
meld
は--output
オプションをサポートしていません。 Gitは、meld --help
の出力を調べることで、meld
が--output
をサポートしているかどうかを検出しようとします。mergetool.meld.hasOutput
を設定すると、Gitはこれらのチェックをスキップし、代わりに設定された値を使用します。mergetool.meld.hasOutput
をtrue
に設定すると、Gitは無条件に--output
オプションを使用するようになり、false
は--output
の使用を回避します。 - mergetool.meld.useAutoMerge
-
meld は
--auto-merge
が指定されると、競合しないすべての部分を自動的にマージし、競合する部分を強調表示して、ユーザーの決定を待ちます。mergetool.meld.useAutoMerge
を`true`に設定すると、Gitは--auto-merge
オプションをmeld
で無条件に使用するようになります。 この値をauto
に設定すると、gitは--auto-merge
がサポートされているかどうかを検出し、使用可能な場合にのみ--auto-merge
を使用します。false
の値はデフォルト値で、` --auto-merge` の使用を完全に回避します。 - mergetool.hideResolved
-
マージ処理中、Gitは可能な限り多くの競合を自動的に解決し、解決できない競合の周りに競合マーカーを含ませた
MERGED
ファイルを書き込みます。 「LOCAL」と「REMOTE」は通常、Gitの競合解決前のファイルのバージョンを表します。 この設定により、「LOCAL」と「REMOTE」が上書きされ、未解決の競合のみがマージツールに表示されます。mergetool.<tool>.hideResolved
構成変数を介してツールごとに構成できます。 デフォルトはfalse
です。 - mergetool.keepBackup
-
マージを実行した後、競合マーカーを含む元のファイルを、拡張子
.orig
のファイルとして保存できます。 この変数がfalse
に設定されている場合、このファイルは保存されません。 デフォルトはtrue
です(つまり、バックアップファイルを保持します)。 - mergetool.keepTemporaries
-
カスタムマージツールを呼び出すとき、Gitは一時ファイルの組をツールに渡します。 ツールがエラーを返し、この変数が
true
に設定されている場合、これらの一時ファイルは保持されます。それ以外の場合、ツールの終了後に削除されます。 デフォルトはfalse
です。 - mergetool.writeToTemp
-
Gitは、デフォルトで、競合するファイルの一時的な 「BASE」バージョンと「LOCAL」バージョンと「REMOTE」バージョンをワークツリーに書き込みます。
true
に設定すると、Gitはこれらのファイルに一時ディレクトリを使用しようとします。 デフォルトはfalse
です。 - mergetool.prompt
-
マージ解決プログラムを呼び出す前にプロンプトを表示します。
TEMPORARY FILES
git mergetool
は、マージの解決中に *.orig
バックアップファイルを作成します。これらは、ファイルがマージされ、その git
mergetool
セッションが完了したら安全に削除できます。
mergetool.keepBackup
構成変数を false
に設定すると、ファイルが正常にマージされたときに、 git
mergetool
がバックアップを自動的に削除します。
GIT
Part of the git(1) suite