Risoluzione dei conflitti

Si verifica un conflitto quando vengono apportate modifiche allo stesso elemento nell'area di lavoro e nel repository Git remoto. Quando si verifica un conflitto, lo stato git indica Conflitto e Commit e Update vengono disabilitati finché il conflitto non viene risolto.

Screenshot di un report con stato git che indica il conflitto.

Importante

Microsoft Fabric è in anteprima.

Esistono due modi per risolvere un conflitto:

  • Ripristinare l'area di lavoro o il repository Git in uno stato sincronizzato precedente.
  • Risolvere il conflitto in git.

Ripristinare uno stato precedente

È possibile ripristinare l'area di lavoro o il ramo Git fino all'ultimo stato sincronizzato. Se si ripristina il ramo git in un commit precedente, è comunque possibile visualizzare le modifiche apportate al ramo non sincronizzato. Se si ripristina l'area di lavoro, le modifiche vengono perse completamente.

Per ripristinare lo stato sincronizzato precedente, eseguire una delle operazioni seguenti:

  • Usare il comando Annulla per restituire tutti gli elementi nell'area di lavoro all'ultimo stato sincronizzato.
  • Ripristinare l'ultimo stato sincronizzato in git usando il git revert comando in Azure DevOps.

È anche possibile risolvere i conflitti disconnettendo e riconnettendo l'area di lavoro. Quando si riconnette, selezionare la direzione da sincronizzare. Si noti tuttavia che questa sovrascriverà tutti gli elementi nell'area di lavoro o nel ramo e non solo quelli in conflitto. Non restituisce l'area di lavoro o il ramo all'ultimo stato sincronizzato. Invece, sovrascrive tutto il contenuto in una posizione con il contenuto dell'altro.

Risolvere il conflitto in git

Se sono state apportate numerose modifiche e non si vuole ripristinare uno stato precedente, è possibile provare a risolvere il conflitto nel repository Git creando un nuovo ramo e sincronizzandolo con quello corrente. Solo un amministratore dell'area di lavoro può creare un nuovo ramo:

  1. Nel riquadro Controllo origine selezionare un nuovo ramo usando l'ultimo ID ramo sincronizzato visualizzato nella parte inferiore della schermata

    Screenshot che mostra come controllare un nuovo ramo dal riquadro del controllo del codice sorgente selezionando la freccia giù.

    Screenshot delle informazioni sull'ID ramo visualizzate nella parte inferiore della schermata.

    Questo passaggio crea un nuovo ramo dal ramo in conflitto usando l'ultimo stato git sincronizzato, prima che le modifiche siano state apportate in conflitto con le modifiche. È possibile visualizzare le modifiche nel riquadro Controllo del codice sorgente , ma non è possibile aggiornare dal ramo git.

  2. Eseguire il commit delle modifiche nel nuovo ramo. Questo nuovo ramo include ora le modifiche apportate agli elementi connessi a una versione precedente del ramo git che non è in conflitto con le modifiche.

  3. In git risolvere i conflitti tra il ramo originale e il nuovo ramo.

  4. In git unire il nuovo ramo nel ramo originale

  5. In Infrastruttura disconnettere e riconnettere l'area di lavoro al ramo originale.

Passaggi successivi