Почему vsdiffmerge всегда открывать новый VisualStudio и не показывать разницу
Я хочу использовать vsdiffmerge в качестве инструмента git diff. И я установил .git/config
ниже.
[diff]
tool = vsdiffmerge
[difftool]
prompt = true
[difftool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\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\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsDiffMerge.exe\" \"$LOCAL\" \"$REMOTE\" //t //m
keepbackup = false
trustexistcode = true
Я нахожу, что он может хорошо работать несколько раз, но он откроет новый VisualStudio и не покажет вкладку diff. Я пытаюсь удалить //t
но не поможет.
Я хочу задать два вопроса:
Как сделать, чтобы vsdiffmerge открывал вкладку diff при открытии VisualStudio?
Как использовать git diff multi-file, если я не хочу вводить весь файл в
y
, Я вижу количество файлов 133, что я должен нажать 133y
,
0 ответов
Команды для difftool и mergetool должны немного отличаться:
Попробуй это:
Команда Difftool: /t "$LOCAL" "$REMOTE"
Команда MergeTool: /m /t "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
Вот пример для Visual Studio 2019, но он должен быть похож на Visual Studion 2017:
difftool.vsdiffmerge.path=C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsDiffMerge.exe
difftool.vsdiffmerge.cmd=/t "$LOCAL" "$REMOTE"
mergetool.vsdiffmerge.path=C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsDiffMerge.exe
mergetool.vsdiffmerge.cmd=/m /t "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
Я использую / обедаю это из GitExtensions, но оно должно быть очень похоже на другие клиентские приложения git.