Preview ng leksyon

Annullare gli errori: restore, reset, revert — correttamente e con cautela

Uno degli argomenti più richiesti nei colloqui e nel lavoro reale è come annullare ciò che è già stato fatto. Analizzeremo tre strumenti con diversa 'profondità' di annullamento e ci concentreremo sull'aspetto più importante: mostreremo scenari concreti in cui reset --hard distrugge il lavoro di squadra, mentre revert è un'alternativa sicura. Soluzioni giuste e sbagliate — con conseguenze reali.

git restore git reset git revert
Ano ang matututunan mo sa leksyong ito
  • Sarai in grado di annullare con sicurezza le modifiche in qualsiasi fase: nella directory di lavoro, nell'indice e nella cronologia dei commit.
  • Comprenderai la differenza sostanziale tra reset e revert e saprai in quali situazioni ciascuno è appropriato.
  • Imparerai a evitare gli errori tipici che i principianti commettono quando annullano le modifiche in un repository condiviso.

Simula ng leksyon

Git restore: il pulsante di annullamento per i file

  • Git restore — annulla le modifiche non committate
  • Funziona come il pulsante 'Annulla' in un editor
  • Sicuro — non modifica la cronologia dei commit
  • Riporta i file all'ultimo stato salvato

Immagina di aver accidentalmente salvato un file con un errore e di voler tornare indietro. Git restore agisce come un magico pulsante di annullamento: riporta i file all'ultimo stato registrato. A differenza di altri comandi di annullamento, restore lavora solo con le modifiche non committate ed è completamente sicuro per la cronologia del tuo progetto. È il primo strumento a cui ricorrere in caso di modifiche accidentali, quando serve correggere rapidamente la situazione senza rischi per la cronologia delle modifiche.

Annullare le modifiche nella directory di lavoro

  • git restore file.txt — riporta il file all'ultimo commit
  • Annulla tutte le modifiche nella directory di lavoro
  • Sicuro — le modifiche possono essere recuperate tramite l'editor
  • Controlla sempre lo stato con git status prima di ripristinare

Supponiamo che tu abbia passato mezz'ora a modificare un file di configurazione, ma ti sia reso conto di essere sulla strada sbagliata. Invece di annullare manualmente ogni modifica, esegui git restore config.yml. Il file tornerà immediatamente allo stato dell'ultimo commit. È come se avessi semplicemente chiuso il file senza salvarlo, ma con la garanzia di tornare a una versione funzionante.

# Demo di ripristino di un file
$ echo "Modifiche errate" > main.py
$ git status
$ git restore main.py
$ cat main.py
$ git status

Rimuovere un file dall'indice

  • git restore --staged file.txt — rimuove un file dall'indice
  • Mantiene le modifiche nella directory di lavoro
  • Attenzione: senza --staged le modifiche andranno perse
  • Controlla sempre git status prima di eseguire

Un errore comune è aggiungere accidentalmente un file extra all'indice. Ad esempio, hai eseguito git add . e hai incluso un file di configurazione temporaneo. Il comando git restore con il flag staged e il nome del file settings.tmp lo rimuoverà delicatamente dall'indice, ma manterrà tutte le modifiche nella directory di lavoro. Senza il flag staged, perderesti il tuo lavoro, quindi controlla sempre lo stato con git status prima di eseguire restore. Ora sai come annullare le modifiche prima del commit. Ma cosa succede se l'errore è già entrato nella cronologia? È qui che entra in gioco git reset.

# Aggiunto accidentalmente un file all'indice
$ git add config.tmp
$ git status

# Rimuovi dall'indice, mantenendo le modifiche
$ git restore --staged config.tmp
$ git status

# Verifica che il file sia ancora nella directory di lavoro
$ ls -la config.tmp

Buong leksyon ay para sa subscription

24 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. Git restore: il pulsante di annullamento per i file
  2. Annullare le modifiche nella directory di lavoro
  3. Rimuovere un file dall'indice
  4. Git reset: come funziona il riavvolgimento della cronologia
  5. Reset --soft sicuro: modifiche nell'indice
  6. Reset --mixed standard: modifiche nella directory di lavoro
  7. Reset --hard pericoloso: eliminazione irreversibile
  8. Reset: tre modalità, un comando
  9. git reset --soft: riscrivere la storia in sicurezza
  10. Quando usare --mixed e --hard
  11. Checklist: quale reset scegliere?
  12. Perché non si può semplicemente cancellare l'errore?
  13. Come funziona git revert nella pratica
  14. Annullare più commit in una volta
  15. Reset: riscrivere la storia in locale
  16. Revert: annullare le modifiche in sicurezza
  17. Cosa succede con push: reset vs revert
  18. Perché reset --hard è pericoloso
  19. Esempio di perdita di modifiche
  20. Come recuperare i dati
  21. Pericoli del rollback in un branch condiviso
  22. Rollback sicuro con revert
  23. Sequenza corretta delle operazioni
  24. Quando usare cosa: restore, reset o revert
  25. Regole per lavorare con cronologia personale e condivisa
  26. Guida passo passo in caso di errore
  27. Riepilogo e compito: Il maestro degli annullamenti

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  1. Introduzione: Git da zero a sviluppatore fiducioso
  2. Perché serve Git — e perché senza non ti assumono
  3. Installazione e configurazione: prepariamo Git al primo avvio
  4. Primo repository: init, add, commit e la magia dell'indice
  5. Leggiamo la storia: log, diff, show e navigazione nel passato
  6. Branch: la realtà parallela del tuo codice
  7. Annullare gli errori: restore, reset, revert — correttamente e con cautela
  8. GitHub e repository remoti: il tuo codice nel cloud
  9. Lavoro di squadra: fork, feature branch e pull request
  10. Conflitti di unione: niente panico — analizziamo e risolviamo
  11. Processi Git nei team reali: quale workflow scegliere
  12. Strumenti avanzati: rebase, stash, cherry-pick e tag
  13. Progetto finale: simuliamo uno sviluppo di gruppo reale