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>.trustExitCodetrue に設定できます。それ以外の場合、 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.hasOutputtrue に設定すると、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