Branching: branch, checkout e merge
Creare branch per le funzionalità, passare dall’uno all’altro, unire i branch nuovamente in main e risolvere semplici conflitti di merge.
Branching: branch, checkout e merge è una lezione Frontend Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Frontend Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Frontend Academy include 4 lezioni in totale.
Perché usare i branch?
I branch consentono di sviluppare in parallelo più funzionalità e correzioni di bug senza che interferiscano tra loro. Il branch main (o master) rimane stabile, mentre il lavoro in corso risiede nei branch delle funzionalità.
Elencare e creare i branch
git branch elenca i branch. git branch name crea un nuovo branch. Il nuovo branch parte dal commit corrente.
git branch # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branchCambiare branch
git checkout branchname passa a un branch esistente. git checkout -b branchname lo crea e vi passa in un unico passaggio. L'equivalente moderno è git switch.
git checkout main # switch to main
git checkout feature/auth # switch to existing branch
git checkout -b hotfix/nav # create + switch
# Modern (git 2.23+):
git switch main
git switch -c feature/authFlusso di lavoro tipico con i branch
1) Passi a main. 2) Scarichi gli ultimi aggiornamenti. 3) Crei un branch per la funzionalità. 4) Esegui i commit. 5) Esegui il merge in main. 6) Elimini il branch della funzionalità.
git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-modeEseguire il merge dei branch
git merge branchname integra le modifiche del branch specificato nel branch corrente. Git prova a eseguire il merge automaticamente. Un merge fast-forward si verifica quando la cronologia è lineare.
git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linearCommit di merge
Quando i due branch hanno seguito percorsi divergenti, Git crea un commit di merge con due commit genitori. In questo modo conserva la cronologia completa di entrambe le linee di sviluppo.
Conflitti di merge
Quando lo stesso file è stato modificato in entrambi i branch, Git non può eseguire il merge automaticamente e segnala il conflitto. Modifichi il file per risolverlo, quindi esegua il commit.
<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming
// After resolving:
const COLOR = 'navy'; // your decision
git add styles.css
git commitgit rebase — Cronologia lineare
git rebase main riproduce i commit del branch sopra l'ultimo main, creando una cronologia lineare senza commit di merge. Lo utilizzi per i branch delle funzionalità prima del merge; eviti di eseguire il rebase sui branch condivisi.
git switch feature/auth
git rebase main # replay commits on top of current mainHEAD — Posizione corrente
HEAD è un puntatore alla punta del branch corrente (oppure a un commit specifico nello stato detached HEAD). git log mostra la posizione di HEAD. HEAD~1 è il commit precedente, mentre HEAD~3 è quello di tre posizioni indietro.
Salvare il lavoro in corso
git stash salva le modifiche senza commit e ripristina un albero di lavoro pulito. Lo utilizzi quando deve cambiare branch senza eseguire il commit di un lavoro incompleto. git stash pop ripristina le modifiche.
git stash # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop # restore WIPConvenzioni per i nomi dei branch
Pattern comuni: feature/feature-name, fix/bug-description, hotfix/critical-fix, chore/dependency-update. Una denominazione coerente rende leggibile l'elenco dei branch.
Verifica rapida
Quale comando crea un nuovo branch e vi passa in un unico passaggio?
Riepilogo: branching in Git
git branch crea. git checkout/switch consente di spostarsi. git merge integra. Risolva i conflitti modificando i blocchi delimitati dai marker. git stash salva il lavoro in corso. Utilizzi git rebase per una cronologia lineare. Usi i branch delle funzionalità per ogni nuovo lavoro e mantenga main stabile. Elimini i branch già sottoposti a merge per mantenere pulito l'elenco.
Impara HTML con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 41
- Lezioni
- 163
Domande Frequenti
La lezione «Branching: branch, checkout e merge» è gratuita?
Sì — il testo completo di «Branching: branch, checkout e merge» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Frontend Academy, passa a CoddyKit PRO. Il corso Frontend Academy include 4 lezioni in totale.
Cosa imparerò in «Branching: branch, checkout e merge»?
Creare branch per le funzionalità, passare dall’uno all’altro, unire i branch nuovamente in main e risolvere semplici conflitti di merge. Eserciti Frontend Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Frontend Academy?
Non è richiesta alcuna esperienza precedente. Frontend Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Branching: branch, checkout e merge»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Frontend Academy?
Sì. Ogni lezione Frontend Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- git init, add, commit e status
- Branching: branch, checkout e merge
- Repository remoti: push, pull e clone
- Workflow delle pull request su GitHub