Использование встроенного средства слияния Visual Studio 2012 с Git
Итак, я не знаю, заметил ли кто-нибудь, но новый инструмент слияния, упакованный с VS2012, болен-o по максимуму. Недавно я перешел в Git для управления версиями и действительно хочу настроить VS2012 как мой difftool/mergetool по умолчанию.
любые предложения о том, как это сделать? Я бы предпочел, чтобы diff / merge запускался в активном окне VS2012, а не в новом экземпляре, если это возможно.
3 ответов
Если вы используете Поставщик Управления Версиями Git С Visual Studio это выглядит как эта функция был реализован и доступен с версии 1.0.0.
или если вы начнете использовать Microsoft инструменты для git, который также будет использовать встроенный инструмент сравнения. От некоторых скриншоты, похоже, это будет двухстороннее слияние, с результатом внизу.
в этой статье объясняет как это делать. Я пробовал это, и это работает. В моем использовании diff был открыт в любом существующем экземпляре Visual Studio, который вы предпочитаете.
[diff]
tool = vsdiffmerge
[difftool]
prompt = false
[difftool "vsdiffmerge"]
cmd = '"C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t
keepbackup = false
trustexitcode = true
[merge]
tool = vsdiffmerge
[mergetool]
prompt = false
[mergetool "vsdiffmerge"]
cmd = '"C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/vsdiffmerge.exe"' "$REMOTE" "$LOCAL" "$BASE" "$MERGED" //m
keepbackup = false
trustexitcode = true
или использовать %VSINSTALLDIR%
чтобы всегда ссылаться на версию Visual Studio, которая соответствует открытой командной строке (это работает только при установке среды Visual Studio, используя ярлык командной строки Visual Studio или вручную вызывая vsvars32.bat
):
[diff]
tool = vsdiffmerge
[difftool]
prompt = false
[difftool "vsdiffmerge"]
cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t
keepbackup = false
trustexitcode = true
[merge]
tool = vsdiffmerge
[mergetool]
prompt = false
[mergetool "vsdiffmerge"]
cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" "$BASE" "$MERGED" //m
keepbackup = false
trustexitcode = true
решение, отмеченное как ответ, не работало для меня ,но это (у меня был vsdiffmerge.exe местоположение в моем пути - не знаю, было ли у него что-нибудь с ним):
[diff]
tool = vsdiffmerge
guitool = vsdiffmerge
[difftool]
prompt = true
[difftool "vsdiffmerge"]
cmd = $LOCAL $REMOTE /t
keepbackup = false
trustexistcode = true
path = C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsDiffMerge.exe
[merge]
tool = vsdiffmerge
[mergetool]
prompt = false
[mergetool "vsdiffmerge"]
cmd = $REMOTE $LOCAL $BASE $MERGED /m
keepbackup = false
trustexitcode = true
path = C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/vsDiffMerge.exe