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.
- 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.
- Fred modificherà anche file2.txt con la seguente modifica:
File2 is a (Fred was here again)
small file
with simple text.
- Fred ha eseguito il commit delle sue modifiche nel repository.
- 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
- Infine, Jane ha modificato file2.txt:
File2 is a (Jane was here) small
file
with simple text.
- Quando Jane ha terminato le modifiche, ha sincronizzato il progetto e la vista Sincronizzazione ha visualizzato quanto segue:
- 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.
- 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.
- 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.