~/cheat-sheets / git
Comandi Git
Comandi Git per l'uso quotidiano e le emergenze – cercabili e copiabili con un clic. Con avvisi sui comandi che scartano il lavoro in modo definitivo.
Scarica il PDF (A4, libero da condividere) ↓
37 comandi
Uso quotidiano: stato e commit
Stato breve con branch e info di tracking
git status -sbMostra le modifiche non in staging
git diffMostra le modifiche in staging
git diff --stagedAggiunge le modifiche a blocchi
git add -pCrea un commit con messaggio
git commit -m "Fix login redirect"Aggiunge le modifiche in staging all'ultimo commit
⚠ Attenzione: modifica o cancella datigit commit --amend --no-editCrea un nuovo branch e ci passa
git switch -c feature/login
Log e ricerca
Ultimi 20 commit come grafo compatto
git log --oneline --graph --decorate -20Commit di un autore nelle ultime 2 settimane
git log --since='2 weeks ago' --author='Daniele'Trova i commit che hanno aggiunto o rimosso un testo
git log -S 'password' --onelineChi ha modificato per ultimo le righe 10-30?
git blame -L 10,30 file.py
Stash
Mette da parte le modifiche con una descrizione
git stash push -m "wip login"Mette da parte anche i file non tracciati
git stash push -uApplica uno stash e lo conserva
git stash apply stash@{0}Applica lo stash più recente e lo rimuove
git stash popScarta uno stash
⚠ Attenzione: modifica o cancella datigit stash drop stash@{0}
Rebase e pulizia della cronologia
Riapplica il branch corrente sopra main
git rebase mainRiordina, unisce o riscrive in modo interattivo gli ultimi 4 commit
⚠ Attenzione: modifica o cancella datigit rebase -i HEAD~4Annulla il rebase, torna allo stato precedente
git rebase --abortUnisce un branch con un merge commit
git merge --no-ff feature/login
Annullare le modifiche
Scarta le modifiche non in staging di un file
⚠ Attenzione: modifica o cancella datigit restore file.txtToglie un file dallo staging, le modifiche restano
git restore --staged file.txtAnnulla un commit con un commit inverso (sicuro sui branch condivisi)
git revert abc1234Annulla l'ultimo commit, le modifiche restano in staging
git reset --soft HEAD~1Scarta l'ultimo commit e le sue modifiche
⚠ Attenzione: modifica o cancella datigit reset --hard HEAD~1Elimina definitivamente file e cartelle non tracciati
⚠ Attenzione: modifica o cancella datigit clean -fd
Reflog e recupero
Mostra la cronologia di tutti gli spostamenti di HEAD
git reflogTorna a uno stato precedente del reflog
⚠ Attenzione: modifica o cancella datigit reset --hard HEAD@{2}Recupera un commit perso tramite hash come branch
git switch -c rescue abc1234Trova gli oggetti orfani
git fsck --lost-foundAnnulla l'ultimo reset, merge o rebase
⚠ Attenzione: modifica o cancella datigit reset --hard ORIG_HEAD
Remote e bisect
Scarica tutti i remote, elimina i branch rimossi
git fetch --all --pruneScarica e riapplica i commit locali sopra
git pull --rebaseForce push che non sovrascrive i nuovi commit altrui
⚠ Attenzione: modifica o cancella datigit push --force-with-leaseAvvia la ricerca binaria del commit che rompe
git bisect start && git bisect bad && git bisect good v1.2Esegue bisect in automatico con uno script di test
git bisect run ./test.shTermina bisect e torna al branch di partenza
git bisect reset
Nessun risultato.
Nuovi articoli via e-mail
Un'e-mail per ogni nuovo articolo. Nessun tracciamento, puoi annullare quando vuoi. Come ringraziamento dopo la conferma: la mia checklist “Gestione server e patching” (PDF).