最近、GitExtension 2.46 を使用していましたが、同じ Git バージョンは 1.9.4.msysgit.2 です。Git コマンドのみを使用するつもりなので、GitExtension をアンインストールし、最新バージョンのGitとKDiff3をインストールしました。
マージを行って競合が発生した場合は、次のコマンドを実行します。
git mergetool
すると、次のメッセージが届きます:
マージ ツール kdiff3 は 'kdiff3' としては使用できません。
KDiff3 パスによるものであると思われます。
環境
- OS: Windows 10
- Git 2.6.1.windows.1
- KDiff3 0.9.98 (64 ビット)
質問:
競合ファイルの
git mergetool
バージョンLOCAL、REMOTE、BASE、およびMERGEDで KDiff3 GUI を開くコマンドを実行するには、.gitconfig ファイルで何を構成する必要がありますか?diff ツールとして使用するにはどうすれば設定できますか?
ベストアンサー1
これらのサイトは、ほとんど、 mergetoolとdifftoolで非常に役に立ちました。私はグローバル設定を使用しましたが、リポジトリでも問題なく使用できます。次のコマンドを実行するだけです。
git config --global merge.tool kdiff3
git config --global mergetool.kdiff3.path "C:/Program Files/KDiff3/bin/kdiff3.exe"
git config --global mergetool.kdiff3.trustExitCode false
git config --global diff.guitool kdiff3
git config --global difftool.kdiff3.path "C:/Program Files/KDiff3/bin/kdiff3.exe"
git config --global difftool.kdiff3.trustExitCode false
最新バージョンの kdiff3 では、実行ファイルがアプリケーション フォルダーのルート C:/Program Files/KDiff3 からアプリケーション フォルダー内の bin/ フォルダーに移動されていることに注意してください。古いバージョンを使用している場合は、上記のパスから「bin/」を削除してください。
このオプションの使用は、trustExitCode
diff ツールが戻ったときに何を実行するかによって異なります。ドキュメントより:
git-difftool は、各ファイルに対して個別に diff ツールを呼び出します。デフォルトでは、diff ツールによって報告されたエラーは無視されます。呼び出された diff ツールがゼロ以外の終了コードを返したときにgit-difftoolを終了するには、--trust-exit-codeを使用します。