Git Bisect: Trovare il Commit che ha Introdotto un Bug

La test suite è verde da tre settimane. Oggi npm test fallisce su un’asserzione che non ha niente a che fare con quello che hai appena modificato, e git log v1.4.0..HEAD mostra 340 commit di quattro persone dall’ultima release, di cui qualcuno era sicuro che funzionasse. Leggere ogni diff ti costa una giornata. Fare checkout di commit a caso è più veloce, ma resta comunque non un piano. git bisect trasforma tutto questo in una ricerca binaria. Gli dai un commit che sai essere buono e uno che sai essere rotto; lui fa il checkout del commit a metà tra i due e aspetta che tu lo testi e riporti il risultato. Ogni risposta dimezza l’intervallo. 340 commit si risolvono in al massimo 9 test, perché 2^9 = 512. ...

22 settembre 2026 · 6 minuti · 1157 parole · SpaghettiCoder

Git Rebase vs Merge: differenze e quando usarli

Fai il pull dell’ultimo main e Git si blocca con CONFLICT (content): Merge conflict in checkout.js. Risolvi il conflitto e nel log compare un commit chiamato Merge branch 'main' into feature/checkout, appoggiato sopra i tre commit che avevi effettivamente scritto tu. Quattro commit, una sola modifica reale. Un collega che legge quella storia il mese prossimo non riesce più a distinguerli. git merge e git rebase rispondono alla stessa domanda: come allineo il mio branch alle modifiche fatte altrove. Lasciano tracce molto diverse, e scegliere quello sbagliato su un branch condiviso causa danni reali. ...

13 settembre 2026 · 8 minuti · 1656 parole · SpaghettiCoder

Cos'è Docker e a cosa serve: guida per chi inizia

Cosa fa Docker in concreto Docker è una piattaforma open source che impacchetta un’applicazione con tutto ciò che le serve per funzionare — codice, librerie, runtime, configurazione — in un container che si comporta allo stesso modo su qualsiasi macchina. Il trasloco rende concreto il compromesso. Hai due opzioni: Portare tutti i tuoi oggetti sfusi, sperando che arrivino intatti Mettere tutto in scatole organizzate, etichettate e facili da spostare Docker fa esattamente questo con le applicazioni software: le “impacchetta” in container che contengono tutto il necessario per funzionare. ...

31 gennaio 2026 · 5 minuti · 855 parole · SpaghettiCoder