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?
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.