2015-12-21 2 views
1

Я пытаюсь настроить внешний diffftool и mergetool для Git под Windows 10.Почему я не могу настроить внешний diffftool или mergetool для Git?

Все говорит мне, чтобы я набирал две команды Git, подобные приведенным ниже. Некоторые говорят, что используют wrapper.sh, а другие говорят, что это необязательно.

git config --global diff.tool diffmerge 

(Вторая строка выглядит примерно так :)

git config --global difftool.diffmerge.cmd "path to sgdm.exe or some_wrapper.sh" $LOCAL $REMOTE** 

Это не работает для меня. Я также попытался:

git config --global difftool.diffmerge.cmd C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe \"$LOCAL\" \"$REMOTE\" 

git config --global difftool.diffmerge.cmd C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe "$LOCAL" "$REMOTE" 

git config --global difftool.diffmerge.cmd "C:/Program\ Files/SourceGear/Common/DiffMerge/sgdm.exe $LOCAL $REMOTE" 

Мой конфигурационный файл выглядит следующим образом:

[filter "lfs"] 

     clean = git-lfs clean %f 
     smudge = git-lfs smudge %f 
     required = true 
[user] 

     name= John Doe 
[diff] 

     tool = dm 
[difftool] 

     prompt = true 
[difftool "dm"] 

     cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\" //t 

Что я делаю неправильно?

+0

Как выглядит ваш файл конфигурации? Я боюсь, что когда вы напишете это с помощью этих команд, вы потеряете «\» в Program \ Files, создавая неправильный путь. Я думаю, файл находится в% HOME% /. Gitconfig, но я не использую окна. – Fabio

+0

Форматированное кодирование –

+0

Я, наконец, понял! – Ag71191

ответ

0

Это звучит, как вы могли бы быть счастливы с полным клиентом GUI. Я использовал Sourcetree для интеграции с external merge tools (на OSX). И infact, Sourcetree's in-built merge tool тоже замечательный.

0

Проверьте ваш глобальный файл .gitconfig, чтобы убедиться, что пути закончились в правильном формате (с кавычками вокруг путей с пробелами и т. Д.).

Вот мой соответствующий раздел из моего файла конфигурации:

[diff] 
    tool = vsdiffmerge 
[difftool] 
    prompt = true 
[difftool "vsdiffmerge"] 
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t 
    keepbackup = false 
    trustexistcode = true 
[merge] 
    tool = vsdiffmerge 
[mergetool] 
    prompt = true 
[mergetool "vsdiffmerge"] 
    cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m 
    keepbackup = false 
    trustexistcode = true 
Смежные вопросы