Conflitti di merge
Fa parte della sezione Controllo delle versioni del percorso Terminal di Coddy. Lezione 37 di 58.
Se entrambi i rami hanno modificato le stesse righe dello stesso file, Git non può indovinare quale versione mantenere. Mette in pausa l'unione e ti chiede di decidere.
Il file con conflitti presenta marcatori speciali che mostrano entrambe le versioni:
<<<<<<< HEAD
the version on main
=======
the version on feature
>>>>>>> featureIl tuo compito è modificare il file manualmente: scegli una versione, combinale oppure scrivi qualcosa di nuovo. Poi rimuovi tutti i marcatori di conflitto (le righe <<<, ===, >>>).
Una volta che il file sembra corretto, aggiungilo all’area di staging e completa l’unione con un altro commit:
git add notes.txt
git commit -m "Resolve merge conflict in notes"Se cambi idea a metà, puoi annullare l'intera operazione e tornare allo stato precedente all'unione:
git merge --abortSfida
MedioLa cartella contiene notes.txt con la riga hello.
Inizializza il repository e conferma il file iniziale. Crea il branch alt, modifica notes.txt in modo che contenga hi from alt e conferma.
Torna a main, modifica notes.txt in modo che contenga hi from main e conferma.
Prova a unire alt in main. L'unione genererà un conflitto. Annullala con git merge --abort, quindi stampa il contenuto di notes.txt con cat per confermare che il file sia tornato alla versione di main.
Provalo tu
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Controllo delle versioni
4Esaminare le modifiche
Git DiffDifferenze delle modifiche in stagingGit ShowRiepilogo: lavoro da detective2Per iniziare
Inizializzare un repositoryLa cartella .gitConfigura la tua identitàStato di GitRiepilogo - Primo repository5Ignorare i file
Perché ignorare i filePattern di .gitignoreVerificare le regole di ignoramentoRiepilogo - Repository pulito8Unione
Che cos’è un mergeMerge fast-forwardMerge a tre vieConflitti di mergeRisolvere un conflittoRipasso - Maestro del merge11Progetto con un ramo di funzionalità
Panoramica del progettoInizializzare main3Tracciare le modifiche
L'area di stagingGit AddGit CommitModificare un file tracciatoGit LogRiepilogo: i primi commit6Progetto di un sito di ricette
Panoramica del progettoInizializzare e ignorareEsercitati da solo: Playground Terminal