Promemoria dei comandi Git

Avanti

Git ha circa 150 sottocomandi e molti di essi sembrano pericolosamente simili, reset vs restore, checkout vs switch, rm vs restore --staged. Questo cheatsheet raggruppa i comandi che digiti effettivamente per situazione: flusso di lavoro quotidiano, branching, annullare errori e stash. Scegli il gruppo e copia il blocco.

Come usare il cheatsheet

  1. 1

    Scegli un argomento

    Quotidiano, branching, annullare o stash, ognuno corrisponde a un diverso stato mentale.

  2. 2

    Scansiona il blocco

    Ogni riga è un comando completo e funzionante, nessun segnaposto tra parentesi angolari a meno che non sia esplicitamente contrassegnato.

  3. 3

    Copia quello di cui hai bisogno

    Incolla nel tuo terminale, modifica il nome del branch o il commit SHA, e esegui.

Perché i comandi confondono ancora gli utenti esperti

Il porcellana di Git è cresciuto per accrescimento. checkout era sovraccarico per “cambiare branch” e “ripristinare file”; reset si trova tra “scartare lavoro” e “spostare il puntatore del branch”. Dalla versione 2.23 di Git ci sono verbi più chiari:

Vecchio Nuovo (più chiaro)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

La scala di annullamento sicura

  1. Ripristina un file: git restore path/to/file (non tracciato) o git restore --staged path/to/file (tracciato ma non confermato).
  2. Annulla l’ultimo commit, mantieni le modifiche: git reset --soft HEAD~1.
  3. Annulla l’ultimo commit, scarta le modifiche: git reset --hard HEAD~1 (distruttivo; controlla di non avere lavoro non confermato).
  4. Ripristina un commit condiviso: git revert <sha>, crea un nuovo commit che annulla il precedente; sicuro sulla cronologia inviata.

Etichetta dello stash

  • Stash sempre con un messaggio: git stash push -m "wip: collegamento api".
  • Elenca gli stash con git stash list prima di poppare, gli stash anonimi si accumulano rapidamente.
  • git stash pop applica e cancella; git stash apply applica e mantiene.

Recupero

Hai perso un commit dopo un reset duro? Probabilmente è ancora nel reflog. Esegui git reflog per vedere ogni spostamento di HEAD degli ultimi 90 giorni e git reset --hard <sha> per tornare a uno stato buono.

Domande frequenti

Dalla versione 2.23 di Git (agosto 2019) il progetto ha diviso il verbo sovraccarico checkout in due. switch cambia branch, restore ripara file. Entrambi esistono ancora per compatibilità retroattiva ma sono più facili da leggere quando rivedi la cronologia della shell.

reset sposta il puntatore del branch (e opzionalmente l’albero di lavoro). revert crea un nuovo commit che annulla un precedente, sicuro su un branch condiviso. checkout / restore modifica i file nell’albero di lavoro senza riscrivere la cronologia.

Usa git revert <sha> per aggiungere un commit compensativo e invialo. Evita git reset --hard + git push --force su branch condivisi a meno che il team non abbia esplicitamente concordato.

I comandi sono testo statico visualizzato nella pagina. L’argomento che scegli viene inviato al server solo per mostrare i comandi corrispondenti e compare nel link della pagina quando passi da uno step all’altro. Non viene archiviato né registrato.

Strumenti correlati

Strumento disponibile in altre lingue