Condividi tramite


Risolvere conflitti tra file

Un vantaggio nell'utilizzare Controllo della versione di Team Foundation è quello di gestire i file, consentendo a diverse persone di lavorare contemporaneamente su un file.Uno svantaggio si verifica quando in alcuni casi, è necessario risolvere i conflitti prima di poter ottenere, archiviare, rielaborare, unire, o annullare i file.

Archiviazione bloccata da un conflitto di modifiche

Sebbene possa essere frustrante rilevare i conflitti, il sistema fornisce informazioni e strumenti per aiutare a capire come risolvere i conflitti.

SuggerimentoSuggerimento

Come impostazione predefinita, il sistema tenta automaticamente di Risolvi tutti automaticamente i conflitti, a meno che sia stata disattivata questa opzione (vedere Suggerimenti).

Autorizzazioni necessarie

È necessario avere uno dei Collaboratori per il progetto team.Vedere Gruppi predefiniti, autorizzazioni e ruoli di Team Foundation Server.

Scegliere l'argomento con cui si desidera procedere

  • Gestire e ottenere informazioni sui conflitti

  • Risoluzione automatica di tutti i conflitti

  • Unione automatica di un singolo conflitto

  • Risoluzione manuale di un singolo conflitto

  • Individuare le opzioni automatiche

  • Individuare le opzioni di confronto

  • Lavorare dal prompt dei comandi

  • Ottenere i consigli

Finestra di risoluzione dei conflitti

La finestra di risoluzione dei conflitti viene visualizzato automaticamente quando si tenta di eseguire un'operazione bloccata da uno o più conflitti.

Finestra Risolvi conflitti

Per impostazione predefinita, nella finestra vengono visualizzati solo i conflitti causati dal tentativo di esecuzione dell'operazione più recente.Quando la finestra è in questo stato, viene visualizzato un messaggio che inizia con: Filtro percorso applicato.Per mostrare tutti i conflitti nell'area di lavoro, scegliere Leggi tutti i conflitti.Un messaggio che inizia con: visualizza n Conflitti.

Se è passato molto tempo da quando sono state apportate modifiche ad i file nell'area di lavoro, è possibile che in questo periodo di tempo si siano verificati nuovi conflitti.Per aggiornare la finestra Risolvi conflitti, scegliere Aggiorna.

Ogni conflitto contiene informazioni e talvolta collegamenti che possono aiutare a risolverlo.Per ulteriori informazioni, è possibile selezionare il conflitto e scegliere:

  • Pulsante CronologiaCronologia per visualizzare la cronologia di un file.Se l'operazione che ha causato il conflitto è un Unione o un operazione di Rollback, allora è possibile scegliere nel menu di controllo a destra di Cronologia, quindi selezionare Cronologia origine oppure Cronologia destinazione.

    Vedere Ottenere la cronologia di un elemento.

  • Pulsante AnnotaAggiunta annotazioni per visualizzare i dettagli relativi a tutte le modifiche apportate alla versione più recente del file, incluso chi ha apportato ogni modifica e quando è stata apportata.Vedere Visualizzare le modifiche ai file mediante l'annotazione.

  • Pulsante Confronta i fileConfronta (o il menu a destra del pulsante e quindi scegliere un comando).La Finestra di Confronto viene visualizzata.

Risoluzione automatica di tutti i conflitti

Come impostazione predefinita, il sistema tenta automaticamente di Risolvi tutti automaticamente i conflitti, a meno che sia stata disattivata questa opzione (vedere Suggerimenti).Nella finestra di risoluzione dei conflitti, è inoltre necessario scegliere Risolvi tutti automaticamente, quindi scegliere:

  • Selezionare Tutti i tipi di conflitto se si desidera che il sistema tenti di risolvere automaticamente i conflitti utilizzando tutte le regole euristiche.

  • Selezionare Tipi di conflitto specifici se si desidera che il sistema tenti di risolvere i conflitti, ma si desidera escludere alcune regole euristiche.

    Viene visualizzata la finestra di dialogo Scegliere i conflitti da risolvere.Selezionare o deselezionare le opzioni che si desidera abilitare o disabilitare, quindi scegliere Risolvi automaticamente.Per ulteriori informazioni, vedere di seguito Opzioni di risoluzione automatica .

Il sistema tenta di risolvere automaticamente i conflitti visualizzati nella finestra Modifiche in sospeso.Tutti i conflitti che il sistema non è in grado di risolvere rimarranno nella finestra.È necessaria la risoluzione manuale di questi conflitti.

Unire automaticamente un singolo conflitto

Scegliere Unire automaticamente se si desidera provare a risolvere i conflitti selezionati utilizzando le opzioni di unione automatica descritte di seguito in Opzioni di risoluzione automatica .

SuggerimentoSuggerimento

È possibile premere e tenere premuto il tasto CTRL oppure il tasto MAIUSC per selezionare più conflitti.

[!NOTA]

Se l'opzione Unisci automaticamente è disabilitata, il conflitto deve essere risolto manualmente.

Risolvere manualmente un singolo conflitto

Se il sistema non è in grado di risolvere automaticamente un conflitto, oppure se si desidera assicurarsi di comprendere cosa viene modificato, è necessario risolvere il conflitto.All'interno di ogni conflitto, il sistema visualizza le azioni che è possibile eseguire per risolvere il conflitto.Le azioni visualizzate dipendono dal tipo di conflitto e dall'operazione che ha causato il conflitto.

ms181432.collapse_all(it-it,VS.110).gifModifiche di unione nello strumento di unione

Quando un conflitto è causato dalle modifiche del contenuto, è possibile scegliere Modifiche di unione nello strumento di unione.

Quando si sceglie questa operazione, viene visualizzata la finestra di Merge.

Finestra Esegui merge

Il risultato del lavoro per la risoluzione di un conflitto viene visualizzato nel riquadro Risultati.

In questa finestra è possibile:

  • Selezionare il layout della finestra: Visualizzazione verticale, Visualizzazione orizzontale, Visualizzazione mista.

  • Esplorare tra le differenze e i conflitti.

  • Selezionare gli elementi, da versioni di sinistra e destra del file, per includerli nel risultato.

  • Digitare contenuto aggiuntivo nel file nel riquadro dei risultati.

  • Visualizzare la cronologia del file.Vedere Ottenere la cronologia di un elemento.

  • Confrontare le diverse versioni del file.

  • Annotare i file per controllare chi li ha modificati.Vedere Visualizzare le modifiche ai file mediante l'annotazione.

Quando vengono soddisfatti i contenuti nel pannello Risultato, scegliere Accetta merge.

Individuare le opzioni automatiche

In alcuni casi speciali, è consigliabile limitare i tipi di conflitti risolti automaticamente tramite l'opzione Risolvi tutti automaticamente .

Quando si sceglie Risolvi tutti automaticamente, quindi Tipi di conflitto specificati, la finestra di dialogo Scegliere i conflitti da risolvere viene visualizzata.

Finestra di dialogo Scegliere i conflitti da risolvere

Se si desidera che il sistema risolvi automaticamente i conflitti che si sono verificati a causa...

Come descritto in questo esempio

Selezionare questa casella di controllo

Sono state apportate modifiche del contenuto non in conflitto in ogni versione di un file

Nella versione del file a sinistra è stato aggiunto uno zero iniziale.Nella versione del file a destra è stato aggiunto un tre finale:

Modifiche del contenuto non in conflitto

Conflitti con qualsiasi modifica del contenuto

Sono state apportate modifiche al contenuto univoche dell'area di lavoro (durante un'operazione get o di archiviazione) o della versione di destinazione (durante un'operazione di unione o di rollback)

Sono stati aggiunti quattro e cinque all'area di lavoro o alla versione di destinazione:

Modifiche del contenuto uniche nell'area di lavoro o nella destinazione

Conflitti con modifiche del contenuto apportate solo nell'area di lavoro locale o nel ramo di destinazione

Sono state apportate modifiche al contenuto univoche del server (durante un'operazione get o di archiviazione) o della versione di origine (durante un'operazione di unione o di rollback)

Sono stati aggiunti quattro e cinque a server o alla versione di origine:

Modifiche del contenuto uniche nel server o nell'origine

Conflitti con modifiche del contenuto apportate solo nella versione del server o nel ramo di origine

È stato rinominato un file sul server (durante un'operazione get o di archiviazione) o nel ramo di origine (durante un'operazione di unione o di rollback)

È stato estratto e utilizzato un file denominato launch.cs.Durante tale intervallo di tempo un altro utente ha archiviato un insieme di modifiche che hanno interessato lo stesso file.Tale insieme di modifiche non ha modificato il contenuto del file, bensì il nome in start.cs.

Conflitti causati dalla ridenominazione del file nella versione del server o nel ramo di origine

  • Sono state apportate modifiche comuni al contenuto che hanno prodotto contenuto identico in ogni versione

  • Un file è stato modificato e archiviato tramite una compilazione di archiviazione gestita ed è stata selezionata l'opzione Conserva le modifiche in sospeso localmente

Le modifiche apportate a ogni versione hanno prodotto un file dal contenuto identico.Le modifiche possono essere state apportate al contenuto dei file, come illustrato nell'esempio seguente:

Modifiche del contenuto identiche in ciascuna versione

Questa opzione risolve anche i conflitti causati da tutte le altre operazioni, quali ridenominazione, eliminazione, annullamento dell'eliminazione e creazione di un ramo, e che producono file identici.

SuggerimentoSuggerimento
Se si seleziona questa casella di controllo, quando si procede il sistema risolverà queste modifiche ottenendo (scaricando) la versione del server nell'area di lavoro.

Conflitti causati da una modifica identica nell'area di lavoro del server e in quella locale.

Lavorare dal prompt dei comandi

Suggerimenti

  • SuggerimentoCome impostazione predefinita il sistema tenta automaticamente di applicare Risolvi tutti automaticamente i conflitti..Per modificare l'opzione, dalla barra dei menu scegliere Strumenti, Opzioni, e quindi nella finestra di dialogo Opzioni, passare a Controllo del codice sorgente, Visual Studio Team Foundation Server.Deselezionare la casella di controllo Tentare di risolvere automaticamente i conflitti quando vengono generati.

  • SuggerimentoIl team deve collaborare per la risoluzione del maggior numero di conflitti possibili, (ad esempio potrebbero verificarsi dopo un'operazione di unione di codebase di grandi dimensioni)?Se è cosi, un'area di lavoro pubblica in un computer dello sviluppatore potrebbe aiutare.Vedere Creare e utilizzare aree di lavoro.