Установка diffmerge как визуального Git difftool не работает
Я пытаюсь настроить DiffMerge в качестве моего difftool в Git, но безуспешно. Это замечательный раздел моего файла .gitconfig (остальные параметры не показаны только для пользователя).
[diff]
tool = diffmerge
[difftool "diffmerge"]
cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\"
Всякий раз, когда я звоню git difftool
из командной строки powershell конфликты отображаются непосредственно под интерфейсом powershell, а не в diffmerge, как предполагалось. Я знаю, что настройки выбираются git, потому что, когда я проверяю глобальную конфигурацию, мне дают настройки из файла конфигурации:
git config --global --get-all difftool.diffmerge.cmd
"C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" "$LOCAL" "$REMOTE"
Я использую PowerShell, а не Git Bash. Это потому, что я установил github для Windows, который предоставил powershell в качестве оболочки для git, поэтому мне не нужно было устанавливать bash (пока). Git версия 1.7.11.msysgit.0.
1 ответ
Я перепутал с difftool
а также mergetool
, Мне нужно было использовать mergetool
разрешать конфликты с помощью визуального интерфейса и сохранять результаты. difftool
только показывает различия. Смотрите git-mergetool-vs-difftool для уточнения.
Я добавил этот раздел в свой .gitconfig
и называется git mergetool
вместо командной строки powershell. Счастливые дни.
[merge]
tool = diffmerge
[mergetool "diffmerge"]
cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" --merge --result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
trustExitCode = true
keepBackup = false