Gestione delle modifiche in conflitto

Ci sono dei casi in cui due utenti modificano gli stessi file e quando il secondo per eseguire il commit nel repository tenta di seguire il commit delle sue modifiche, il repository non lo consente a causa del conflitto. Segue una simulazione in cui Fred e Jane modificano gli stessi file.

  1. Nello spazio di lavoro di Fred, aprire una vista Selezione e modificare il file file1.txt. Rendere il testo come il seguente:

    Fred line 1
    This is the contents
    Fred-update
    of file 1.

  2. Fred modificherà anche file2.txt con la seguente modifica:

    File2 is a (Fred was here again) small file
    with simple text.

  3. Fred ha eseguito il commit delle sue modifiche nel repository.

  4. In seguito, Jane ha apportato contemporaneamente alcune modifiche a file1.txt. Ha aggiunto la seguente riga alla fine del file:

    This is the contents
    Fred-update
    of file 1.
    Jane was at the end

  5. Infine, Jane ha modificato file2.txt:

    File2 is a (Jane was here) small file
    with simple text.

  6. Quando Jane ha terminato le modifiche, ha sincronizzato il progetto e la vista Sincronizzazione ha visualizzato quanto segue:



  7. Entrambi i file file1.txt e file2.txt presentano un'icona rossa che indica che contengono modifiche in conflitto. Non è possibile eseguire il commit dei file finché non vengono risolti i conflitti. Fare clic su file1.txt e notare che Fred e Jane hanno apportato modifiche a due differenti parti del file. In questo caso, Jane può semplicemente aggiornare il file e le righe aggiunte da Fred verranno unite al file locale di Jane. Selezionare file1.txt e dal menu di scelta rapida selezionare Aggiorna.

  8. In seguito, fare doppio clic su file2.txt per visualizzare il conflitto. In questo caso è possibile vedere che Jane e Fred hanno modificato la stessa riga. Per questo tipo di modifica in conflitto, un aggiornamento normale non riesce a risolvere il conflitto. Di seguito sono riportate tre opzioni possibili (con il comando da utilizzare in parentesi): accettare le modifiche di Fred (Sostituisci e aggiorna), ignorare le modifiche di Fred (Contrassegna come unito) o unire manualmente i file nell'editor di confronto.



  9. Per questo esempio, Jane ha aggiornato file1.txt e selezionato Sostituisci e aggiorna per file2.txt. In seguito a queste operazioni, il conflitto si trasforma in modifiche in uscita. Jane può rivedere le modifiche ed eseguirne il commit.