Preview ng leksyon

Strumenti avanzati: rebase, stash, cherry-pick e tag

Passiamo agli strumenti che distinguono un utente sicuro di Git da chi conosce solo le basi. Analizzeremo rebase come alternativa a merge, mostrando quando rende la cronologia più pulita e quando la trasforma in un incubo. Aggiungeremo stash per 'mettere da parte' rapidamente il lavoro non finito, cherry-pick per il trasferimento selettivo di commit e tag per marcare le versioni di rilascio.

git rebase git stash git cherry-pick
Ano ang matututunan mo sa leksyong ito
  • Sarai in grado di usare git stash per passare da un'attività all'altra senza perdere le modifiche.
  • Capirai la differenza tra rebase e merge e saprai scegliere consapevolmente tra i due in base al contesto.
  • Imparerai a modificare la cronologia dei commit con rebase interattivo e a marcare le versioni di rilascio con i tag.

Simula ng leksyon

Problema: come rimandare il lavoro incompiuto

  • Un bug fix improvviso interrompe il tuo lavoro
  • Il codice incompleto non può essere committato
  • Git stash — archivio temporaneo delle modifiche
  • Salva sia i file tracciati che quelli non tracciati
  • Riporta la directory di lavoro a uno stato pulito

Immagina: sei nel bel mezzo del lavoro su una nuova funzionalità, e all'improvviso arriva un bug fix urgente. Non vuoi mollare tutto a metà, ma non puoi nemmeno committare codice grezzo. È proprio per situazioni come queste che esiste git stash — il tuo scaffale digitale temporaneo. È come mettere in pausa un gioco: il progresso corrente viene salvato e tu puoi dedicarti ad altro. Quando torni, tutto sarà esattamente come lo hai lasciato, inclusi i file non tracciati, se non hai dimenticato il flag -u. Questo ti salva dal dover tenere a mente più attività contemporaneamente.

Salviamo e visualizziamo le modifiche

  • git stash save — salva le modifiche nell'archivio
  • git stash list — mostra l'elenco delle modifiche salvate
  • A ogni stash viene assegnato un ID univoco
  • stash@{0} — l'ultima modifica salvata
  • L'archivio conserva lo stato della directory di lavoro

Vediamo come usare git stash nella pratica. Il comando git stash save salva tutte le modifiche nella directory di lavoro e i file indicizzati, riportandoti a uno stato pulito. I tuoi progressi non sono persi — finiscono in un archivio speciale. Per assicurarti che le modifiche siano salvate, esegui git stash list. Vedrai un elenco di tutte le attività rimandate con identificatori univoci come stash chiocciola zero. È particolarmente comodo quando devi passare rapidamente da un'attività all'altra senza perdere i progressi.

# Salviamo le modifiche correnti
git stash save "WIP: Nuova funzionalità login"

# Controlliamo l'elenco delle modifiche salvate
git stash list

# Visualizziamo il contenuto dell'ultimo stash
git stash show -p

Ripristiniamo le modifiche rimandate

  • git stash pop — applica e rimuove l'ultimo stash
  • git stash apply — applica senza rimuovere
  • Possibili conflitti se il codice è cambiato
  • I conflitti si risolvono manualmente
  • stash@{n} — riferimento a un salvataggio specifico

Quando è il momento di tornare al lavoro rimandato, hai due opzioni. Il comando git stash pop applica le ultime modifiche salvate e le rimuove dall'elenco stash. Se invece vuoi solo vedere le modifiche o applicarle più volte, usa git stash apply — le modifiche rimangono nell'archivio. È importante ricordare: se dal momento del salvataggio dello stash il codice è cambiato, potrebbero sorgere conflitti. In tal caso, Git ti avviserà del problema e dovrai risolvere i conflitti manualmente.

# Ripristiniamo le ultime modifiche rimandate
git stash pop

# OPPURE applichiamo senza rimuovere
git stash apply

# Applichiamo uno stash specifico per indice
git stash apply stash@{1}

Buong leksyon ay para sa subscription

25 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. Problema: come rimandare il lavoro incompiuto
  2. Salviamo e visualizziamo le modifiche
  3. Ripristiniamo le modifiche rimandate
  4. Quando stash può essere dannoso
  5. Come funziona l'unione dei branch
  6. Rebase: riscriviamo la cronologia dei commit
  7. Quando usare cosa: scenari pratici
  8. Pericoli del rebase: cosa può andare storto
  9. Cos'è il rebase e a cosa serve
  10. Eseguiamo il rebase: analisi passo dopo passo
  11. Risolviamo i conflitti durante il rebase
  12. Rebase interattivo: il vostro editor della cronologia dei commit
  13. Comandi principali del rebase interattivo
  14. Esercizio: rendiamo la cronologia perfetta
  15. Attenzione: modifica della cronologia pubblicata
  16. Perché non fare rebase sui rami condivisi
  17. Come rimediare a un rebase fallito
  18. Correggere la cronologia in sicurezza
  19. A cosa serve cherry-pick in Git
  20. Come usare git cherry-pick
  21. Quando scegliere: cherry-pick vs merge vs rebase
  22. Git tag: segnalibri per commit importanti
  23. Creare tag annotati e leggeri
  24. Pubblicare i tag nel repository remoto
  25. Scenario: hotfix a metà dello sviluppo
  26. Integrazione delle modifiche con rebase e cherry-pick
  27. Errori tipici e come evitarli
  28. Riepilogo: Il vostro nuovo arsenale da Git master

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