Prontuario dei comandi Git: i comandi che usi davvero
Git ha centinaia di comandi, ma il lavoro quotidiano si regge su un paio di dozzine. Questo è quel set pratico — raggruppato per attività, dallo staging e commit a branch, remote e annullamento degli errori. Le parentesi angolari <così> indicano un valore che inserisci tu.
Aggiornato 2026-07-06
Configurazione
| Comando | Cosa fa |
|---|---|
| git init | Avviare un nuovo repository nella cartella corrente |
| git clone <url> | Copiare un repository remoto sulla tua macchina |
| git config --global user.name "Name" | Impostare il tuo nome autore dei commit |
| git config --global user.email "you@x.com" | Impostare la tua email autore dei commit |
Staging & commit
| Comando | Cosa fa |
|---|---|
| git status | Mostrare file modificati, in stage e non tracciati |
| git add <file> | Mettere in stage un file per il prossimo commit |
| git add . | Mettere in stage tutte le modifiche della cartella corrente |
| git reset <file> | Togliere dallo stage un file (mantenere le modifiche) |
| git commit -m "message" | Committare le modifiche in stage con un messaggio |
| git commit -am "message" | Mettere in stage i file tracciati e committare in un passo |
| git commit --amend | Modificare il commit più recente |
Branch
| Comando | Cosa fa |
|---|---|
| git branch | Elencare i branch locali |
| git branch <name> | Creare un nuovo branch |
| git checkout <name> | Passare a un branch |
| git switch <name> | Passare a un branch (sintassi più recente) |
| git checkout -b <name> | Creare un nuovo branch e passarci |
| git branch -d <name> | Eliminare un branch già mergiato |
| git branch -D <name> | Forzare l'eliminazione di un branch |
Merge & rebase
| Comando | Cosa fa |
|---|---|
| git merge <branch> | Mergiare un branch in quello corrente |
| git rebase <branch> | Riapplicare i tuoi commit sopra un altro branch |
| git rebase -i <ref> | Modificare, comprimere o riordinare i commit in modo interattivo |
| git cherry-pick <hash> | Applicare un singolo commit sul branch corrente |
Remote
| Comando | Cosa fa |
|---|---|
| git remote -v | Elencare i remote configurati |
| git remote add origin <url> | Collegare un repo locale a un remote |
| git fetch | Scaricare le modifiche remote senza mergiare |
| git pull | Recuperare e mergiare le modifiche remote |
| git push | Caricare i tuoi commit sul remote |
| git push -u origin <branch> | Fare push e impostare il branch upstream |
Annullare
| Comando | Cosa fa |
|---|---|
| git restore <file> | Scartare le modifiche non committate di un file |
| git reset --soft HEAD~1 | Annullare l'ultimo commit, tenere le modifiche in stage |
| git reset --hard HEAD~1 | Annullare l'ultimo commit e scartare le modifiche |
| git revert <hash> | Creare un nuovo commit che annulla un commit |
| git stash | Accantonare le modifiche per lavorare ad altro |
| git stash pop | Riapplicare le modifiche accantonate più di recente |
Ispezionare la cronologia
| Comando | Cosa fa |
|---|---|
| git log | Mostrare la cronologia dei commit |
| git log --oneline | Cronologia compatta una riga per commit |
| git diff | Mostrare le modifiche non in stage |
| git diff --staged | Mostrare le modifiche in stage |
| git show <hash> | Mostrare i dettagli di un commit specifico |
| git blame <file> | Mostrare chi ha modificato per ultimo ogni riga |