Как настроить kdiff3 в Mac OS?
В файле .gitconfig
я настроил diff git следующим образом:
[diff]
tool = kdiff3
[difftool "kdiff3"]
path = path_directory/kdiff3.app
В этом параметре kdiff недоступен, и я получаю следующую ошибку при запуске в терминале
>> 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.
Ответы
Ответ 1
kdiff3
обычно находится в следующем местоположении:
/Applications/kdiff3.app/Contents/MacOS/kdiff3
попробуйте
[difftool "kdiff3"]
path = /Applications/kdiff3.app/Contents/MacOS/kdiff3
Если вы установили kdiff
с помощью brew
, вам не понадобится параметр difftool
в конфигурации для git 1.8 и далее. Только следующее:
[diff]
tool = kdiff3
Если вы установили kdiff
, установив файл dmg на kdiff.app
, установите локальный путь следующим образом:
[difftool "kdiff3"]
path = directory_path_where_you_installed/kdiff3.app/Contents/MacOS/kdiff3
Ответ 2
-
Загрузите kdiff3 и установите его как приложение (перетащите kdiff3 в ваши приложения): http://sourceforge.net/projects/kdiff3/files/kdiff3/0.9.98/kdiff3-0.9.98-MacOSX-64Bit.dmg/download
-
Установите утилиту git config следующим образом, у меня работает на 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'
Ответ 3
Вам не нужно добавлять пути к вашему gitconfig, как описано в других ответах. Это все, что вам нужно настроить .gitconfig
[diff]
guitool = kdiff3
[merge]
tool = kdiff3
Предполагая, что на вашем компьютере установлен homebrew:
brew update
brew tap caskroom/cask
brew cask install kdiff3
Объяснение:
-
настройка для использования бочки
brew tap caskroom/cask
-
загружает kdiff3, перемещает его в каталог ваших приложений и связывает kdiff3.sh с /usr/local/bin/kdiff3
brew cask install kdiff3
Ответ 4
-
Сначала проверьте, установлен ли и распознан ли 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.
-
Затем мы должны установить 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
...
-
Наконец, убедитесь, что правильная конфигурация для git
:
[diff]
tool = kdiff3
[difftool]
prompt = false
[merge]
tool = kdiff3
conflictstyle = diff3