2012-09-20 10 views
5

E 'possibile utilizzare lo strumento diff in visual studio 2012 insieme a git? Usando "devenv/diff fileA fileB" posso far apparire un diff tra due file, ma come posso aggiungere un terzo (file di base), avendo 3 viste affiancate.git si fondono usando lo strumento diff vs2012

Attualmente utilizzo TortoiseGit e BeyondCompare.

risposta

4

Git può essere configurato per utilizzare qualsiasi strumento diff generico, non solo quello che conosce fuori dalla scatola. Per chiamare uno strumento diff generico, impostare la variabile di configurazione diff.tool su un alias dello strumento differenziale personalizzato, ad esempio "vs2012", digitando git config --global diff.tool vs2012 e creare una variabile cmd corrispondente per tale alias dello strumento diff digitando git config --global difftool.vs2012.cmd <path_to_devenv> -diff "$LOCAL" "$REMOTE". Nota che sto usando un trattino invece di una barra per l'opzione "diff" per aggirare i problemi di mangling del percorso MSYS, e fortunatamente devenv accetta anche trattini per le opzioni da riga di comando. Ora dovresti essere in grado di chiamare lo strumento diff VS2012 digitando git difftool.

Per la fusione, suppongo di doverti deludere, devenv /diff accetta solo esattamente due file.

+0

Siamo spiacenti ma questo non funziona. Gli argomenti nella riga di comando non si trasformano nel file .gitconfig e 'git difftool -t vs2012' non funziona. –

+0

Sembra che qualcosa sia cambiato in Git 1.8.0 che richiede quotazioni diverse (a seconda della shell che stai usando). Prova questo su "Git Bash": 'git config --global difftool.vs2012.cmd" -diff \ $ LOCAL \ $ REMOTE "'. – sschuberth