Ответ 1
Возможно, ваша установка kdiff3 нарушена, так как она не работает. Или, может быть, вы попытались вручную отредактировать файл конфигурации и испортили его содержимое. Зачем? Поскольку исполняемые файлы Windows имеют расширение .exe
в целом. вы можете попробовать изменить конфигурацию снова.
В любом случае, это уже не важно. Это то, что вам нужно использовать, если вы хотите попробовать любой другой инструмент.
git mergetool --tool=p4merge
Возможно, другие уже установлены с вашим git. Вы можете видеть их всех в дополнение к другим.
git mergetool --tool-help
Изменение: эта команда работает, только если вы правильно установили свой путь к инструменту. В противном случае вы всегда получаете 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 show path) или сохраните их в другом месте внутри редактора.
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
лучше понятным.