Git Create Branch: creare un branch
Ultimo aggiornamento
Il modo moderno per creare un branch e spostarti su di esso in un solo passo è git switch -c <name>. Il più vecchio git checkout -b <name> fa la stessa cosa e funziona ancora ovunque. git branch <name> crea il branch senza spostarti. Un nuovo branch parte dal punto in cui ti trovi, a meno che tu non indichi un punto di partenza diverso.
Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.
Sintassi
| Comando | Cosa fa |
|---|---|
git switch -c feature | Crea feature e ci si sposta sopra (moderno) |
git checkout -b feature | Crea e sposta (più vecchio, equivalente) |
git branch feature | Crea il branch senza spostarti |
git switch -c feature main | Crea feature partendo da main |
git switch -c feature <hash> | Crea un branch partendo da un commit |
Casi comuni
| Obiettivo | Comando |
|---|---|
| Creare un branch da un branch remoto | git switch -c feature origin/feature |
| Fare il push di un nuovo branch e impostare l'upstream | git push -u origin feature |
| Creare un branch su cui passerai più tardi | git branch feature |
Domande frequenti su come creare un branch in Git
Come creo un branch e mi ci sposto con un solo comando?
git switch -c <name> (Git moderno) oppure l'equivalente git checkout -b <name>. Entrambi creano il nuovo branch dal commit corrente e ne fanno subito il checkout, così puoi iniziare a lavorarci immediatamente.Che differenza c'è tra git switch -c e git checkout -b?
git switch è il comando più recente e mirato, introdotto per separare il cambio di branch dai tanti altri usi di git checkout. git checkout -b è più vecchio ma ancora pienamente supportato; usa quello che preferisce il tuo team.Come creo un branch da un altro branch o da un commit specifico?
git switch -c feature main parte da main, e git switch -c feature <hash> parte da un commit specifico. Senza punto di partenza, il branch viene creato dall'HEAD corrente.Come faccio il push di un nuovo branch sul remote?
git push -u origin <name>. -u imposta l'upstream, così i successivi git push e git pull su quel branch non richiedono argomenti. Il branch non esiste sul remote finché non ne fai il push.