Почему мой difftool больше не работает?
Раньше работал, но после смены ноутбука больше не распознается. Любая помощь высоко ценится!
Вот что я пытался использовать Git Bash (git version 2.16.2.windows.1
):
$ git config --list --show-origin
...
file:"C:\\Git\\mingw64/etc/gitconfig" difftool.kdiff3.cmd='C:/Program Files/KDiff3/kdiff3' $LOCAL $REMOTE
file:"C:\\Git\\mingw64/etc/gitconfig" difftool.kdiff3.keepbackup=false
file:"C:\\Git\\mingw64/etc/gitconfig" difftool.kdiff3.trustexitcode=false
file:"C:\\Git\\mingw64/etc/gitconfig" merge.conflictstyle=diff3
...
Я скопировал старый рабочий файл конфигурации. Но потом:
$ git difftool master devSQC
This message is displayed because 'diff.tool' is not configured.
See 'git difftool --tool-help' or 'git help config' for more details.
'git difftool' will now attempt to use one of the following tools:
kompare emerge vimdiff
...
$ git difftool --tool-help
'git difftool --tool=<tool>' may be set to one of the following:
vimdiff
vimdiff2
vimdiff3
user-defined:
kdiff3.cmd 'C:/Program Files/KDiff3/kdiff3' $LOCAL $REMOTE
The following tools are valid, but not currently available:
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff
Some of the tools listed above only work in a windowed
environment. If run in a terminal-only session, they will fail.
$ git difftool -t=kdiff3 master devSQC
Viewing (1/61): '.gitignore'
Launch '_kdiff3' [Y/n]? y
Unknown merge tool _kdiff3
fatal: external diff died, stopping at .gitignore
1 ответ
Решение
Вы должны изменить эту строку:
git difftool -t=kdiff3 master devSQC
либо:
git difftool -t kdiff3 master devSQC
или же:
git difftool --tool=kdiff3 master devSQC
Обычно короткие аргументы вроде -t
сопровождаются пробелом И длинные варианты вроде --tool
сопровождаются =
, Это своего рода соглашение.