Branch: la realtà parallela del tuo codice
I branch sono il cuore di Git, ed è qui che molti principianti iniziano ad avere paura. Demistificheremo i branch: mostreremo che un branch è solo un puntatore, non una copia dei file. Analizzeremo come creare branch, passare da uno all'altro e unire le modifiche, e vedremo la differenza tra un merge fast-forward e un merge a tre vie con esempi pratici.
- Comprenderai che un branch è un puntatore leggero e smetterai di avere timore di crearli per qualsiasi motivo.
- Sarai in grado di creare branch, passare da uno all'altro e unire le modifiche usando il comando merge.
- Riuscirai a distinguere tra merge fast-forward e merge a tre vie e capirai quando applicare l'uno o l'altro scenario.
Simula ng leksyon
Mito della copia dei file nei branch
- Un branch non è una copia dei file, ma un puntatore leggero
- Creare un branch richiede frazioni di secondo
- Zero overhead di archiviazione
- Tutti i branch lavorano con gli stessi file
Immaginate che ogni volta che create un branch l'intero progetto venga copiato – sarebbe un incubo per i repository grandi! Per fortuna Git è molto più intelligente. Un branch è solo un puntatore a un commit specifico nella cronologia delle modifiche. Non avviene alcuna duplicazione di file, il che rende le operazioni sui branch istantanee. È come passare da un punto all'altro nello spazio-tempo del vostro codice, non creare universi paralleli per ogni modifica.
Struttura interna di un branch
- Branch = file di testo con l'hash del commit
- Memorizzato in .git/refs/heads/
- Dimensione: esattamente 40 caratteri
- Nuovo branch = nuovo file con l'hash
Diamo un'occhiata sotto il cofano di Git. Ogni branch è semplicemente un file di testo nella cartella nascosta .git. In questo file è memorizzato solo un hash di quaranta caratteri – l'hash dell'ultimo commit nel branch. Quando create un nuovo branch, Git scrive in un nuovo file l'hash del commit corrente. L'intero processo richiede frazioni di secondo, anche se il progetto contiene migliaia di file. Ora capite perché passare da un branch all'altro è istantaneo?
Segnalibro invece di copia del libro
- Un branch è come un segnalibro in un libro
- Non copia il contenuto
- Passaggio istantaneo
- Se ne possono creare quanti si vuole
Facciamo un'analogia con la lettura di un libro. Quando mettete un segnalibro a una pagina, non copiate tutto il libro, vero? Semplicemente segnate un punto per tornarci più tardi. Un branch in Git funziona esattamente allo stesso modo: è un'etichetta leggera che punta a uno stato specifico del vostro codice. Potete creare decine di queste etichette senza occupare spazio extra sul disco. Questo cambia radicalmente il modo di lavorare con diverse versioni del progetto contemporaneamente.
Buong leksyon ay para sa subscription
21 pang slide sa buong bersyon.
Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.
Mag-sign in o magparehistro Mag-subscribeNilalaman ng leksyon
- Mito della copia dei file nei branch
- Struttura interna di un branch
- Segnalibro invece di copia del libro
- Creiamo un branch nella pratica
- Come funzionano i branch in Git
- Creare un nuovo branch
- Creazione e cambio rapidi
- Cosa succede quando si cambia ramo
- Quando il merge dei rami avviene senza conflitti
- Come funziona il merge fast-forward
- Esempio pratico: merge di feature in main
- Quando il merge dei rami non è possibile automaticamente
- Come si presenta un conflitto di merge
- Passi per risolvere un conflitto
- Perché il merge semplice non funziona sempre?
- Come funziona la fusione a tre vie
- Creiamo un commit di fusione nella pratica
- Come una lunga attesa complica la fusione
- Il pericolo di ignorare i conflitti di fusione
- Il modo corretto per risolvere i conflitti
- Creiamo un ramo feature per un nuovo compito
- Lavoro parallelo su più rami
- Fusione dei cambiamenti con il ramo principale
- Riepilogo: Branch e merge
Mga artikulo tungkol sa araling ito
- Mga command ng Git: cheat sheet na may mga halimbawa para sa araw-araw
- git checkout, switch, at restore: kailan gamitin ang alin
- git merge: paano pagsamahin ang mga branch at ayusin ang conflict
- Mga branch sa Git: git branch, paggawa, paglipat, at pagbura
- git worktree: paano magtrabaho sa maraming branch nang sabay
Lahat ng leksyon ng kurso
- Introduzione: Git da zero a sviluppatore fiducioso
- Perché serve Git — e perché senza non ti assumono
- Installazione e configurazione: prepariamo Git al primo avvio
- Primo repository: init, add, commit e la magia dell'indice
- Leggiamo la storia: log, diff, show e navigazione nel passato
- Branch: la realtà parallela del tuo codice
- Annullare gli errori: restore, reset, revert — correttamente e con cautela
- GitHub e repository remoti: il tuo codice nel cloud
- Lavoro di squadra: fork, feature branch e pull request
- Conflitti di unione: niente panico — analizziamo e risolviamo
- Processi Git nei team reali: quale workflow scegliere
- Strumenti avanzati: rebase, stash, cherry-pick e tag
- Progetto finale: simuliamo uno sviluppo di gruppo reale