Git Checkout
Ultimo aggiornamento
git checkout è il comando classico per muoverti nel repository: cambiare branch, creare un branch con -b, fare il checkout di un commit specifico o ripristinare un file. Fa molte cose, ed è per questo che le versioni più recenti di Git hanno diviso i suoi compiti tra git switch (branch) e git restore (file). Entrambi gli stili funzionano ancora.
Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.
Sintassi
| Comando | Cosa fa |
|---|---|
git checkout main | Passa a un branch esistente |
git checkout -b feature | Crea un nuovo branch e ci si sposta sopra |
git checkout <hash> | Fa il checkout di un commit specifico (detached HEAD) |
git checkout -- file.txt | Scarta le modifiche a un file (lo ripristina) |
git checkout main -- file.txt | Ripristina un file da un altro branch |
checkout vs switch vs restore
| Operazione | Vecchio (checkout) | Moderno |
|---|---|---|
| Cambiare branch | git checkout main | git switch main |
| Creare + cambiare | git checkout -b x | git switch -c x |
| Scartare le modifiche a un file | git checkout -- f | git restore f |
Domande frequenti su git checkout
Cosa fa git checkout?
Ti fa muovere nel repository. Il più delle volte cambia branch (
git checkout main), ma può anche creare un branch (-b), fare il checkout di un commit specifico o riportare un file a una versione precedente. Visto che svolge compiti diversi, il Git moderno ha introdotto git switch e git restore per separarli.Che differenza c'è tra git checkout e git switch?
git switch è un comando più recente e mirato che si limita a cambiare branch (e, con -c, a crearli): più chiaro e più difficile da usare male. git checkout fa questo e in più ripristina file e fa il checkout di commit. Per lavorare con i branch, git switch main e git checkout main sono equivalenti; usa quello che preferisce il tuo team.Come faccio il checkout di un commit specifico?
Esegui
git checkout <hash>. Entri in uno stato di "detached HEAD": stai guardando quel commit ma non sei su nessun branch. Per conservare il lavoro fatto da lì, crea un branch: git switch -c newbranch. Per tornare indietro, fai di nuovo il checkout di un branch con git switch main.Come scarto le modifiche a un file con checkout?
Esegui
git checkout -- file.txt per buttare via le modifiche non committate a quel file e ripristinare l'ultima versione committata. Nel Git moderno l'equivalente più chiaro è git restore file.txt. Entrambi scartano le tue modifiche, quindi assicurati di non averne bisogno.Posso esercitarmi online?
Sì. Apri il terminal playground per eseguire
git checkout in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche come creare e cambiare branch passo dopo passo.