Возможно, ваша установка kdiff3 не работает, поскольку она не работает. Или, может быть, вы попытались отредактировать файл конфигурации вручную и испортили его содержимое. Зачем? Поскольку исполняемые файлы Windows имеют расширение .exe
в целом. Вы можете попробовать изменить конфигурацию снова.
В любом случае, это уже не важно. Это то, что вам нужно использовать, если вы хотите попробовать любой другой инструмент.
git mergetool --tool=p4merge
Возможно, другие уже установлены с вашим git. Вы можете увидеть все из них в дополнение к совместимым другим.
git mergetool --tool-help
Edit:
Эта команда работает, только если вы правильно указали путь к инструменту. В противном случае вы всегда получите No files need merging
результат. Вы уже знаете, как задать путь, но я включу сюда всех, кому это может понадобиться.
Получить список элементов конфигурации:
git config -l
Проверьте, правильно ли установлены значения, если они есть. затем установите правильное значение или удалите.
git config --unset mergetool.p4merge.path
git config --add mergetool.p4merge.path "c:/somewhere/p4merge.exe"
EDIT:
Я предложу процесс очистки, поэтому эти дополнительные команды помогут.
Первые шаги - сделать резервную копию текущих настроек. Самый простой способ - использовать эти списки, а затем скопировать результаты вставки.
git config --list
git config --global --list
затем с помощью этих команд редактирования просто получите путь к файлам конфигурации и сделайте их резервную копию (vim показывает путь) или сохраните в другом месте внутри редактора.
git config --edit
git config --global --edit
Теперь резервные копии готовы, просто выйдите из редактора. не пытайтесь редактировать вручную, если это действительно не нужно.
git config --unset name
git config --global --unset name
git config --remove-section name
git config --global --remove-section name
merge.tool
, mergetool.name
, diff.tool
и difftool.name
- это те, которые нужно убрать здесь. когда вы снова перечисляете конфиги, вы не должны видеть эти имена. локальные и глобальные должны быть очищены отдельно.
Тогда отбросьте тех, кого мы только что почистили. но на этот раз сначала попробуйте их в локальной конфигурации, а затем, в случае успеха, тоже в глобальной конфигурации.
git config merge.tool name
git config mergetool.name.property value
git config diff.tool name
git config difftool.name.property value
Здесь property
- это такие, как cmd
и path
, а value
- их значения, которые вы можете скопировать из резервных копий. Теперь важная вещь - это сначала set only 1 tool
.
И последнее о путях. Вы (OP), похоже, используете Linux-подобную среду, поэтому использование /
вместо \\
сделает path
и cmd
лучше для понимания.