Git Cheat Sheet: comandi Git
Ultimo aggiornamento
Setup e configurazione
Configurazione da fare una volta sola, così i tuoi commit hanno l'autore giusto.
| Comando | Cosa fa |
|---|---|
git config --global user.name "Ada" | Impostare il nome per i commit |
git config --global user.email you@x.com | Impostare l'email per i commit |
git config --list | Mostrare tutta la configurazione attuale |
git config --global init.defaultBranch main | Chiamare main il primo branch dei nuovi repo |
git config --global core.editor "code --wait" | Impostare l'editor predefinito |
git --version | Stampare la versione di Git installata |
Creare e clonare
Avvia un nuovo repository o copiane uno esistente.
| Comando | Cosa fa |
|---|---|
git init | Creare un nuovo repo nella cartella corrente |
git clone <url> | Copiare in locale un repo remoto |
git clone <url> mydir | Clonare in una cartella con un nome |
git clone --depth 1 <url> | Clone superficiale (solo l'ultimo commit) |
git clone -b dev <url> | Clonare e fare checkout del branch dev |
Staging e commit
Registra le modifiche nella cronologia del progetto.
| Comando | Cosa fa |
|---|---|
git add file.txt | Aggiungere un file allo staging |
git add . | Aggiungere allo staging tutte le modifiche della cartella corrente |
git add -p | Scegliere interattivamente le parti da aggiungere |
git commit -m "message" | Fare il commit delle modifiche in staging |
git commit -am "message" | Aggiungere i file tracciati e fare il commit |
git commit --amend | Modificare l'ultimo commit |
git rm file.txt | Rimuovere un file e mettere in staging l'eliminazione |
Branch
Lavora alle modifiche in modo isolato.
| Comando | Cosa fa |
|---|---|
git branch | Elencare i branch locali |
git branch feature | Creare un nuovo branch |
git switch feature | Passare a un branch esistente |
git switch -c feature | Creare un branch e passarci in un solo passaggio |
git checkout feature | Il vecchio modo per cambiare branch |
git branch -d feature | Eliminare un branch già unito |
git branch -m newname | Rinominare il branch corrente |
Merge e rebase
Unisci il lavoro di due branch.
| Comando | Cosa fa |
|---|---|
git merge feature | Unire feature nel branch corrente |
git merge --no-ff feature | Creare sempre un commit di merge |
git rebase main | Riapplicare i tuoi commit sopra main |
git rebase -i HEAD~3 | Modificare interattivamente gli ultimi 3 commit |
git rebase --continue | Riprendere dopo aver risolto i conflitti |
git rebase --abort | Annullare un rebase in corso |
git cherry-pick <hash> | Applicare un singolo commit a questo branch |
Remote (push, pull, fetch)
Sincronizza il repo locale con un remote come GitHub.
| Comando | Cosa fa |
|---|---|
git remote -v | Elencare i remote configurati |
git remote add origin <url> | Collegare un remote chiamato origin |
git fetch | Scaricare le modifiche remote senza unirle |
git pull | Scaricare e unire il branch remoto |
git push | Caricare i commit sul remote |
git push -u origin main | Fare push e impostare il branch upstream |
git push origin --delete feature | Eliminare un branch remoto |
Ispezionare (status, log, diff)
Guarda cosa è cambiato e cosa sta succedendo.
| Comando | Cosa fa |
|---|---|
git status | Mostrare i file in staging, fuori dallo staging e non tracciati |
git log | Mostrare la cronologia dei commit |
git log --oneline --graph | Cronologia compatta con il grafo dei branch |
git diff | Modifiche non in staging rispetto all'indice |
git diff --staged | Modifiche in staging rispetto all'ultimo commit |
git show <hash> | Mostrare le modifiche di un singolo commit |
git blame file.txt | Mostrare chi ha modificato per ultimo ogni riga |
Annullare le modifiche
Rimedia agli errori in sicurezza.
| Comando | Cosa fa |
|---|---|
git restore file.txt | Scartare le modifiche non in staging di un file |
git restore --staged file.txt | Togliere un file dallo staging (mantenendo le modifiche) |
git reset --soft HEAD~1 | Annullare l'ultimo commit, lasciando le modifiche in staging |
git reset --hard HEAD~1 | Annullare l'ultimo commit e scartare le modifiche |
git revert <hash> | Creare un nuovo commit che ne annulla un altro |
git stash | Mettere da parte le modifiche per dopo |
git stash pop | Riapplicare lo stash più recente |
Tutti i comandi Git che usi, in una sola pagina. Questa cheat sheet di Git è un riferimento rapido per il controllo di versione di tutti i giorni: configurare Git, preparare e fare commit, creare branch, merge e rebase, sincronizzarsi con i remote e rimediare agli errori.
Sono comandi Git standard che funzionano allo stesso modo su Linux, macOS e Windows. Copia quello che ti serve oppure provali dal vivo nel playground del terminale: una vera shell nel browser, niente da installare.
Domande frequenti sulla cheat sheet di Git
Questa cheat sheet di Git è gratuita?
Sì. Questa cheat sheet di Git è completamente gratuita e non richiede registrazione. Salvala nei preferiti e torna quando devi cercare un comando per i branch, i commit o per annullare le modifiche.
Qual è la differenza tra merge e rebase?
git merge unisce due branch creando un nuovo commit di merge che collega le loro cronologie, conservando esattamente la storia di entrambi. git rebase invece riapplica i tuoi commit uno per uno sopra un altro branch, producendo una cronologia lineare senza commit di merge. Il merge è sicuro e non distruttivo; il rebase crea una cronologia più pulita ma riscrive i commit, quindi evita di fare rebase di branch che altri hanno già scaricato.Come si annulla un commit in Git?
git reset --soft HEAD~1 annulla l'ultimo commit ma lascia le modifiche in staging, mentre git reset --hard HEAD~1 le scarta del tutto. Per un commit già condiviso, usa git revert <hash> per creare un nuovo commit che lo annulla senza riscrivere la cronologia.Posso esercitarmi con i comandi Git online?
Sì. Apri il playground del terminale per eseguire i comandi Git in una vera shell nel browser, senza installare nulla. Quando vuoi un percorso strutturato, il corso interattivo gratuito di Git di Coddy ti accompagna passo dopo passo dal primo commit fino a branch, merge e remote.
Questa cheat sheet va bene per chi inizia?
Sì. È organizzata da setup e commit (le basi di tutti i giorni) fino a rebase e annullamento delle modifiche, così puoi usare le prime sezioni fin dal primo giorno e arrivare con il tempo ai flussi di lavoro avanzati.