Risoluzione dei conflitti
Si verifica un conflitto quando vengono apportate modifiche allo stesso elemento sia nell'area di lavoro che nel repository Git remoto. Quando si verifica un conflitto, lo stato git indica Conflitto e Commit è disabilitato.
Importante
Questa funzionalità è disponibile in anteprima.
Quando si seleziona Aggiorna in caso di conflitti, un messaggio informa che è necessario risolvere i conflitti prima di poter aggiornare.
Esistono tre modi per risolvere un conflitto:
- Selezionare la versione da mantenere nell'interfaccia utente.
- Ripristinare lo stato sincronizzato precedente dell'area di lavoro o del repository Git.
- Risolvere il conflitto in Git.
Risolvere il conflitto nell'interfaccia utente
Selezionare Aggiorna tutto per visualizzare un elenco di tutti gli elementi con conflitti. È quindi possibile selezionare la versione da mantenere per ogni elemento. Per ogni elemento in conflitto, è possibile scegliere di accettare le modifiche in ingresso dal repository Git o mantenere la versione corrente presente nell'area di lavoro.
Scegliere Accetta modifiche in ingresso per eseguire l'override delle modifiche nell'area di lavoro. Le modifiche dell'area di lavoro andranno perse e lo stato git cambierà in modo da sincronizzare se l'importazione ha esito positivo.
Scegliere Mantieni contenuto corrente per mantenere la versione attualmente nell'area di lavoro. Al termine dell'aggiornamento, lo stato Git diventa di cui non è stato eseguito il commit man mano che le modifiche nell'area di lavoro non vengono ancora sottoposte a commit nel ramo.
Ripristinare uno stato precedente
È possibile ripristinare l'intera area di lavoro o il ramo Git fino all'ultimo stato sincronizzato. Se si ripristina il ramo Git a un commit precedente, è comunque possibile visualizzare le modifiche apportate al ramo non sincronizzato. Se si ripristina l'area di lavoro, si perdono tutte le modifiche apportate all'area di lavoro dopo l'ultimo commit.
Per ripristinare lo stato sincronizzato precedente, eseguire una delle azioni seguenti:
- Usare il comando Annulla per restituire gli elementi in conflitto 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 quando si riconnette, tutti gli elementi nell'area di lavoro o nel ramo vengono sovrascritti 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 un'unica posizione con il contenuto dell'altro.
Risolvere il conflitto in Git
Se non si è certi delle modifiche apportate e della versione da scegliere e non si vuole ripristinare uno stato precedente, è possibile provare a risolvere il conflitto nel repository Git creando un nuovo ramo, risolvendo il conflitto in tale ramo e sincronizzandolo con quello corrente.
Nota
Solo un amministratore dell'area di lavoro può riconnettere l'area di lavoro al nuovo ramo.
Dal pannello di controllo del codice sorgente, controllare un nuovo ramo usando l'ultimo ID ramo sincronizzato visualizzato 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 pannello di controllo del codice sorgente, ma non è necessario eseguire l'aggiornamento dal ramo Git. Il ramo checkout mantiene lo stato corrente dell'area di lavoro, quindi le modifiche di cui non è stato eseguito il commit vengono mantenute durante la modifica del ramo.
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 apportate.
In Git risolvere i conflitti tra il ramo originale e il nuovo ramo.
In Git unire il nuovo ramo nel ramo originale
In Infrastruttura ripristinare il ramo originale dell'area di lavoro.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per