KDiff3 を Git のマージツールおよび diff ツールとして設定するにはどうすればよいですか? 質問する

KDiff3 を Git のマージツールおよび diff ツールとして設定するにはどうすればよいですか? 質問する

最近、GitExtension 2.46 を使用していましたが、同じ Git バージョンは 1.9.4.msysgit.2 です。Git コマンドのみを使用するつもりなので、GitExtension をアンインストールし、最新バージョンのGitKDiff3をインストールしました。

マージを行って競合が発生した場合は、次のコマンドを実行します。

git mergetool

すると、次のメッセージが届きます:

マージ ツール kdiff3 は 'kdiff3' としては使用できません。

KDiff3 パスによるものであると思われます。

環境

  • OS: Windows 10
  • Git 2.6.1.windows.1
  • KDiff3 0.9.98 (64 ビット)

質問:

  • 競合ファイルのgit mergetoolバージョンLOCALREMOTEBASE、およびMERGEDで KDiff3 GUI を開くコマンドを実行するには、.gitconfig ファイルで何を構成する必要がありますか?

  • diff ツールとして使用するにはどうすれば設定できますか?

ベストアンサー1

これらのサイトは、ほとんど、 mergetooldifftoolで非常に役に立ちました。私はグローバル設定を使用しましたが、リポジトリでも問題なく使用できます。次のコマンドを実行するだけです。

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/」を削除してください。

このオプションの使用は、trustExitCodediff ツールが戻ったときに何を実行するかによって異なります。ドキュメントより:

git-difftool は、各ファイルに対して個別に diff ツールを呼び出します。デフォルトでは、diff ツールによって報告されたエラーは無視されます。呼び出された diff ツールがゼロ以外の終了コードを返したときにgit-difftoolを終了するには、--trust-exit-codeを使用します。

おすすめ記事