Utilisation de L'outil de fusion intégré de Visual Studio 2012 avec Git

donc, je ne sais pas si quelqu'un a remarqué mais le nouvel outil de fusion emballé avec VS2012 est sick-o au max. J'ai récemment déménagé à Git pour mon contrôle source et je veux vraiment être en mesure de configurer VS2012 comme mon difftool/mergetool par défaut.

des suggestions sur la façon de faire ceci? Je préférerais que la différence/fusion soit lancée dans la fenêtre active VS2012 et pas une nouvelle instance si possible.

30
demandé sur Adam Drewery 2012-10-01 12:54:40

3 réponses

si vous utilisez fournisseur de contrôle Source Git avec Visual Studio, il ressemble à cette fonctionnalité a été mis en œuvre et est disponible à partir de la version 1.0.0.

ou si vous commencez à utiliser Microsoft outils pour git , qui utilisera également l'outil diff intégré. D'après certaines des screenshots , il semble qu'il va fusionner à double sens, avec le résultat à la bas.

13
répondu R0MANARMY 2014-10-15 21:18:43

cet article explique comment procéder. J'ai essayé et ça fonctionne. Dans mon usage, la différence a été ouverte dans N'importe quelle instance existante de Visual Studio, ce qui est ce que vous avez préféré.

[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

Ou utiliser %VSINSTALLDIR% toujours référence à la version de Visual Studio qui correspond à la ligne de commande, vous avez ouvert (cela ne fonctionne que lorsque l'environnement Visual Studio a été mis en place, soit à l'aide de Visual Studio Commande de raccourci ou appel manuel 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
78
répondu guanome 2017-03-23 02:30:09

Te solution marqué comme réponse n'a pas fonctionné pour moi, mais ce n' (j'ai eu le vsdiffmerge.exe emplacement dans mon chemin - Je ne sais pas s'il avait quelque chose à faire avec elle):

[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
1
répondu Küzdi Máté 2016-03-07 13:26:03