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.
Phần đầu bài giảng
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.
Bài giảng đầy đủ dành cho thuê bao
Còn 21 slide nữa trong phiên bản đầy đủ.
Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.
Đăng nhập hoặc đăng ký Đăng ký thuê baoNội dung bài giảng
- 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
Bài viết liên quan đến bài học này
- Lệnh Git: bảng tra cứu với ví dụ dùng hằng ngày
- git checkout, switch và restore: khi nào dùng cái nào
- git merge: cách gộp nhánh và xử lý xung đột
- Nhánh trong Git: git branch, tạo, chuyển và xóa
- git worktree: làm việc với nhiều nhánh cùng lúc
Tất cả bài giảng của khóa học
- 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