2009-11-02 14 views

risposta

3

La risposta breve come di Visual Studio 2008 sembra essere no.

1

Ogni volta che due persone hanno modificato lo stesso file, è necessario "unire" il codice. Questo può assumere tre forme:

  • mantenere la versione (scartando i loro cambiamenti)
  • mantenere la loro versione (scartando le modifiche)
  • unire le due modifiche di fondere entrambi insieme

Puoi "t" disattivalo ", perché non esiste un altro modo sicuro per risolvere lo scontro.

Il più vicino a cui è possibile effettuare l'operazione di fusione è di non consentire più checkout (bloccare il file in modo che solo uno sviluppatore possa lavorarci contemporaneamente). Ciò impedisce che si verifichino due modifiche simultanee e pertanto evita il problema di unire completamente. (A costo aggiuntivo degli sviluppatori spesso bloccati e impossibilitati a lavorare su un file mentre un altro sviluppatore ha il blocco). Questo è un modo di lavorare orribile e solitamente inefficiente - non lo consiglierei.

È possibile ridurre al minimo la necessità di unioni:

  • Check in frequentemente. Molte piccole modifiche riducono l'esposizione ai conflitti di fusione, mentre alcune grandi modifiche aumentano l'esposizione.
  • Dividi file di grandi dimensioni e spesso modificati in molti file più piccoli per ridurre al minimo la possibilità che 2 sviluppatori debbano modificare lo stesso file allo stesso tempo
  • Prima di iniziare a lavorare su un file, controllare se qualcuno lo sta modificando e prova a riorganizzare il tuo "programma" in modo da non dover iniziare a modificare quel file mentre l'altro programmatore sta lavorando su di esso (un "soft lock" autoimposto, per ridurre la possibilità di unioni necessarie)

È anche possibile aggiornare gli strumenti di unione. L'unione di Visual Studio è orribile, difficile da utilizzare e spesso introduce problemi nel codice. Mi ha morso così tante volte da non potermi mai fidare, quindi devo fare dolorose fusioni manuali ogni volta. Ora utilizzo Araxis Merge, che esegue sempre una fusione automatica perfetta, dandomi la certezza che posso semplicemente lasciarlo fare l'unione per me. (Non ho mai usato un altro programma di fusione che mi dia sicurezza, e ho provato praticamente ogni altra opzione nel corso degli anni). Quando è necessaria un'unione manuale, offre una vista di unione molto chiara per "leggere" e un'interfaccia utente molto rapida e intuitiva per scegliere come unire ogni bit di codice, rendendolo molto efficiente. Una volta ho faticato per 3 giorni con una fusione complessa in VS (corrompendo il codice diverse volte fino a quando non mi sono arreso), poi ho comprato Araxis Merge e ho ripreso perfettamente l'intera fusione in 15 minuti. Un buon strumento davvero elimina il dolore dalla fusione.

(Io non sono affiliato con Araxis in alcun modo, non riesco proprio a sopportare la maggior parte degli strumenti di unione terribile là fuori)

+9

Non voglio rimuovere la capacità di unione. Voglio solo disattivare l'unione automatica "funzionalità" perché tende a farlo terribilmente. Fondamentalmente lo voglio, quindi farò sempre unire manualmente. –

+0

L'ho già impostato per l'unione manuale in Winmerge che rende le fusioni manuali quasi indolori. –

+1

Ah. In tal caso, ci scusiamo per non essere stato molto utile. Ho paura di condividere il tuo reclamo (il numero di dialoghi che devi elaborare per arrotondare l'unione tra VSTS e lo strumento di fusione è così frustrante, noioso e dispendioso in termini di tempo! Non appena avrò un po 'di tempo libero, penso che scriverò solo un front-end sostitutivo per TFS, 'perché l'MS (per usare il termine tecnico) fa veramente schifo) –

107

Provare a effettuare le seguenti operazioni:

VS 2012 -> Strumenti -> Opzioni -> controllo del codice sorgente -> Visual Studio Team Fou ...-> Deseleziona "Tentativo di risolvere automaticamente i conflitti quando vengono generati"

+0

Penso che l'utente qui voglia per disabilitare la possibilità di auto-unione completamente. Sto indovinando che in base al fatto che l'opzione di riferimento non esisteva quando questa domanda è stata scritta ... –

+1

Questo ha funzionato per noi per VS2012 + TFS2012. – SarjanWebDev

+0

Nel caso in cui sia necessario un collegamento .. vedere questo post http://www.donovanbrown.com/post/2013/01/31/I-dont-trust-2012-Auto-merge-but-it-does- it-automatic- – Amitd

Problemi correlati