Aggiornamento manuale

Quando si aggiornano gli elementi in un'area di lavoro o si annulla un commit, è sempre possibile che uno o più elementi avranno esito negativo. L'area di lavoro non viene aggiornata se l'aggiornamento in ingresso dal ramo Git causa incoerenze o altri problemi nell'area di lavoro difficili da determinare in anticipo. Quando un elemento non viene aggiornato, il processo di aggiornamento si arresta. Se l'elemento non riuscito è il primo elemento (o solo) che è stato aggiornato, l'area di lavoro rimane sincronizzata con il ramo originale. Se un elemento ha esito negativo dopo l'aggiornamento di uno o più elementi, si verifica una situazione in cui alcuni elementi vengono sincronizzati e alcuni non lo sono. In questo caso, l'area di lavoro non viene sincronizzata con alcun ramo Git.

Importante

Questa funzionalità è disponibile in anteprima.

Un aggiornamento può avere esito negativo per molti motivi. I possibili motivi includono, ma non solo, i problemi seguenti:

  • Gli elementi dipendenti sono stati modificati o eliminati
  • Sono state create dipendenze circolari
  • Elemento rinominato
  • Dati dell'elemento non validi

Nota

Questo non equivale alla risoluzione dei conflitti. Se sono state apportate modifiche allo stesso elemento sia nell'area di lavoro che nel ramo Git, causa un conflitto e gli aggiornamenti sono disabilitati. Questo articolo illustra come eseguire un'area di lavoro non riesce ad aggiornare anche se non sono presenti conflitti diretti.

Un messaggio di errore consente di sapere quale elemento non è riuscito e perché.

Screenshot showing the error message when update fails.

Questo messaggio di errore viene visualizzato quando l'aggiornamento non riesce. Tutti gli utenti che tentano di accedere all'area di lavoro dopo che visualizzano l'errore seguente fino al completamento dell'aggiornamento.

Screenshot showing the error message when someone tries to connect to a workspace after an update fails.

Selezionare Visualizza dettagli per visualizzare il messaggio di errore precedente.

Git statuses after an item fails (Stato Git dopo un errore di un elemento)

L'area di lavoro contiene ora gli elementi seguenti:

  • Elemento o elementi aggiornati prima dell'errore. Questi elementi sono identici agli elementi in Git, ma i metadati non vengono aggiornati. Hanno uno stato Git sincronizzato, ma con un segno di avviso del triangolo.
  • Elemento non riuscito. Questo elemento ha lo stato Git Update obbligatorio.
  • È possibile che gli elementi che non sono stati ancora aggiornati quando l'elemento non è riuscito. Questi elementi non sono ancora stati aggiornati e hanno lo stato di Aggiornamento necessario.

La barra di stato nella parte inferiore della schermata che mostra lo stato di sincronizzazione più recente è rossa e indica lo stato parzialmente sincronizzato.

Screenshot showing status line at the bottom of the screen when an update fails.

Aggiornare l'elemento non riuscito

Per aggiornare manualmente l'area di lavoro dopo che non è stato possibile aggiornare automaticamente:

  1. Individuare l'elemento che causa l'esito negativo dell'aggiornamento e quale problema sta usando la finestra di dialogo di errore che indica quale elemento non è riuscito e messaggio di errore.
  2. Risolvere il problema in Git. Ciò può significare eseguire una o più delle operazioni seguenti a seconda del problema:
    • Ripristinare l'elemento a una versione precedente che non ha esito negativo
    • Modificare l'elemento per risolvere il problema
    • Ripristinare un elemento dipendente eliminato
    • Eliminare un elemento non supportato che dipende dall'elemento eliminato
  3. Tornare all'area di lavoro e aggiornare nuovamente l'intera area di lavoro.

Considerazioni e limitazioni

Il processo di aggiornamento ha esito negativo non appena un elemento ha esito negativo. Pertanto, non è possibile sapere se anche altri elementi nel ramo Git sono problematici. Se si aggiornano molti elementi e più elementi sono problematici, è necessario ripetere questo processo una volta per ogni elemento non riuscito.

Risoluzione dei conflitti