web-dev-qa-db-ja.com

Mac OSでkdiff3を設定する方法は?

.gitconfigファイルgit diffを次のように設定しました。

[diff]
    tool = kdiff3

[difftool "kdiff3"]
    path = path_directory/kdiff3.app

この設定ではkdiffにアクセスできず、ターミナルで実行すると次のerrorが表示されます

>> git difftool
The diff tool kdiff3 is not available as 'Kdiff_local_software_path/kdiff3.app'
fatal: external diff died, stopping at modified_file

この問題を解決できる提案はありますか?私の現在のセットアップでは、Mac OS 10.10.5 git diffツールはgit merge tool kdiffに置き換えたい。

19
J4cK

kdiff3は通常、次の場所にあります。

/Applications/kdiff3.app/Contents/MacOS/kdiff3

だから、試してみてください

[difftool "kdiff3"]
    path = /Applications/kdiff3.app/Contents/MacOS/kdiff3

kdiffを使用してbrewをインストールした場合、git 1.8以降の構成ではdifftoolパラメータは必要ありません。以下だけでうまくいきます:

[diff]
    tool = kdiff3

kdiffをインストールした場合、dmgファイルをkdiff.appにマウントし、ローカルパスを次のように設定します。

[difftool "kdiff3"]
    path = directory_path_where_you_installed/kdiff3.app/Contents/MacOS/kdiff3
16
hjpotter92
  1. Kdiff3をダウンロードしてアプリとしてインストールします(アプリケーションにkdiff3をドラッグアンドドロップします): http://sourceforge.net/projects/kdiff3/files/kdiff3/0.9.98/kdiff3-0.9.98-MacOSX-64Bit .dmg/download

  2. 次のようにgit設定ツールをセットアップし、MacBook Proで動作します。

git config --global merge.tool kdiff3

そして:

git config --global mergetool.kdiff3.cmd '/Applications/kdiff3.app/Contents/MacOS/kdiff3 $ BASE $ LOCAL $ REMOTE -o $ MERGED'

7
Qiushi

他の回答で説明されているように、gitconfigにパスを追加する必要はありません。これは.gitconfigで設定する必要があるすべてです

[diff]
    guitool = kdiff3
[merge]
    tool = kdiff3

あなたのマシンにhomebrewがインストールされていると仮定します:

brew update
brew tap caskroom/cask
brew cask install kdiff3

説明:

  1. キャスクを使用するための設定

    brew tap caskroom/cask
    
  2. kdiff3をダウンロードしてアプリケーションディレクトリに移動し、kdiff3.shを/ usr/local/bin/kdiff3にリンクします

    brew cask install kdiff3
    
4
Ilker Cat
  1. まず、kdiff3がインストールされ、gitによって認識されているかどうかを確認します。

    $ type -a kdiff3
    -bash: type: kdiff3: not found
    

    kdiff3がmacOSにインストールされていない場合、gitには次のメッセージも表示されます。

    $ git difftool --tool-help
    $ # OR (both command would do)
    $ git mergetool --tool-help
    'git mergetool --tool=<tool>' may be set to one of the following:
            emerge
            opendiff
            vimdiff
            vimdiff2
            vimdiff3
    
    The following tools are valid, **but not currently available**:
            ...
            gvimdiff3
            kdiff3
            meld
            ...
    
    Some of the tools listed above only work in a windowed
    environment. If run in a terminal-only session, they will fail.
    

  1. 次に、kdiff3をインストールする必要があります。これを行う方法はたくさんあります。

    私は個人的に好み MacPort

    $ port search kdiff3
    kdiff3 @0.9.98_4 (devel)
        kdiff3 is a file comparing and merging tool.
    $ Sudo port install kdiff3
    ...installing process...
    

    この後、kdiff3がmacOSおよびgitで使用できるようになります。

    $ type -a kdiff3
    kdiff3 is /opt/local/bin/kdiff3
    $ git difftool --tool-help
    'git difftool --tool=<tool>' may be set to one of the following:
            emerge
            kdiff3
            opendiff
            ...
    

  1. 最後に、gitの正しい構成を確認します。

    [diff]
        tool = kdiff3
    [difftool]
        Prompt = false
    [merge]
        tool = kdiff3
        conflictstyle = diff3
    
2
YaOzI