How to setup kdiff3 in Mac OS?

后端 未结 4 406
再見小時候
再見小時候 2020-12-24 13:51

In.gitconfig file I setup up the git diff as follows:

[diff]
    tool = kdiff3

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


        
相关标签:
4条回答
  • 2020-12-24 14:14
    1. First check whether kdiff3 is installed and recognized by git:

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

      In cases where kdiff3 is not installed in macOS, git will also show following messages:

      $ 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. Then we should install kdiff3, there are many ways to do it:

      • by using MacPort
      • by using Homebrew
      • by downloading SourceForge dmg package
      • building from source
      • etc.

      I personally prefer MacPort:

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

      After this, kdiff3 should be available to macOS and 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. Finally, make sure the correct configuration for git:

      [diff]
          tool = kdiff3
      [difftool]
          prompt = false
      [merge]
          tool = kdiff3
          conflictstyle = diff3
      
    0 讨论(0)
  • 2020-12-24 14:18

    You don't need to add any paths to your gitconfig as described in the other answers. This is all you need to configure in you .gitconfig

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

    Assuming you have homebrew installed on your machine:

    brew update
    brew tap caskroom/cask
    brew cask install kdiff3
    

    Explanation:

    1. setup to use cask

      brew tap caskroom/cask
      
    2. downloads kdiff3, moves it to your Applications dir and links kdiff3.sh to /usr/local/bin/kdiff3

      brew cask install kdiff3
      
    0 讨论(0)
  • 2020-12-24 14:28

    kdiff3 is generally located at the following location:

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

    so, try

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

    If you installed kdiff using brew, then you'd not need the difftool parameter in config for git 1.8 onwards. Just the following would work:

    [diff]
        tool = kdiff3
    

    If you installed kdiff mounting the dmg file to kdiff.app then set your local path as following:

    [difftool "kdiff3"]
        path = directory_path_where_you_installed/kdiff3.app/Contents/MacOS/kdiff3
    
    0 讨论(0)
  • 2020-12-24 14:32
    1. Download kdiff3 and install as app(drag and drop the kdiff3 into your Applications): http://sourceforge.net/projects/kdiff3/files/kdiff3/0.9.98/kdiff3-0.9.98-MacOSX-64Bit.dmg/download

    2. Setup git config tool as following, works for me on MacBook Pro:

    git config --global merge.tool kdiff3

    and:

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

    0 讨论(0)
提交回复
热议问题