Git is Not a Folder

29 aprile 2025

Git is Not a Folder

a cura di Ivan

Ivan è un Full Stack Developer con una forte esperienza sul backend. Il suo stack di riferimento: .NET, SQL Server, Angular, Git. Quando non sviluppa, Ivan si dedica al rugby. Per lui è molto più di uno sport, quasi uno stile di vita, perché insegna disciplina, spirito di squadra e condivisione (compreso fare da “grill master” durante il terzo tempo delle partite). Ivan adora la sensazione dell’andare in moto e, a casa, si prende cura del suo gatto Léon, che è anche la mascotte della sua squadra di rugby (è stato trovato al campo dopo una giornata di pioggia).

Git is not a Folder è un evento online della Rubrica Tecnica curata dai Blazariani, un momento di condivisione in cui Ivan ha illustrato due comandi potenti e spesso poco conosciuti di Git.

📌 Perché parlare di rebase e filter-branch

Durante la preparazione di questo evento, Ivan ci ha raccontato un’esperienza personale:

“All’università non si parlava di source control. Ho imparato Git da solo, su Stack Overflow. So che c’è chi ha studiato direttamente dai man in Shell o su explainshell.com. Oggi questi comandi sono spesso evitati perché temuti, ma saperli usare è una vera marcia in più.”

🔄 Git rebase: riscrivere la storia recente

  1. Permette di riscrivere i commit recenti.
  2. Operazioni possibili: squash (unire commit), fixup (unire senza salvare il messaggio), reword (modifica messaggio), drop (elimina commit), riordino.
  3. Può essere usato anche per riallineare un branch con il main senza merge commit.
  4. Dopo la modifica, serve un push forzato (git push –force o –force-with-lease).
  5. Strumenti grafici come GitLens e GitHub Desktop semplificano queste operazioni.

🧹 Git filter-branch: pulizia profonda del repository

  1. Serve a rimuovere file (es. immagini pesanti o credenziali) da tutto lo storico del repository.
  2. Può anche correggere autore e committer su tutti i commit.
  3. Comandi complessi, ma efficaci per pulire repository o correggere errori di configurazione.
  4. Dopo l’uso, è necessario un push forzato su tutti i branch e tag.

🎙️ Riflessioni finali

“Sono comandi potenti, sì. Ma anche rischiosi se usati senza capire bene il contesto. È per questo che abbiamo voluto mostrarli in modo guidato e visivo.”Ivan

Grazie Ivan per il tuo contributo alla community Blazar!
#SharingIsCaring

🎥 Potete ritrovare tutti i temi trattati in questa video-pillola di 10 minuti:

 Vuoi eseguire il codice dell’applicazione? 

Accedi al repository GitHub messo a disposizione da Luca.

ItalyEnglishFrenchGerman