
Era l’aprile del 2005 quando Linus Torvalds, insoddisfatto delle soluzioni disponibili per la gestione del codice del kernel Linux, decise di creare Git: un sistema di controllo di versione distribuito, veloce, robusto e soprattutto… open-source.
Il 7 aprile del 2005, come ricorda questo articolo celebrativo di GitHub, il primo commit del progetto veniva condiviso, dando vita alla storia di quello che, senza timore di smentita, è il sistema di versioning più utilizzato al mondo.
Nato come rimpiazzo di Bitkeeper, l’allora sistema di versionamento (proprietario) usato dagli sviluppatori del Kernel Linux, Git si è evoluto al punto da dar vita ad una metodologia, chiamata appunto GitOps – una pratica DevOps che usa Git come single source of truth -, che è lo standard de facto per la produzione di codice di qualità.
È sempre incredibile ascoltare come Torvalds parla della sua creatura e nel video presente nell’articolo emerge anche un retroscena familiare:
My oldest daughter went off to college, and two months later, she sends this text to me and says that I’m more well-known at the computer science lab for Git than for Linux because they actually use Git for everything there. And I was like, Git was never a big thing for me. Git was an “I need to get this done to do the kernel.” And it’s kind of ridiculous that, yes, I used four months of my life maintaining it, but now, at the 20 years later…
La mia figlia più grande è andata al college e, due mesi dopo, mi ha scritto questo messaggio dicendo che sono più conosciuto nell’ambito dei laboratori di informatica per Git, piuttosto che per Linux, perché lì lo utilizzano per qualsiasi cosa. E per me, vedi… Non è mai stata una cosa così importante. Git è stato “ho bisogno di questo per fare il Kernel” ed è ridicolo che, sì, ho speso quattro mesi della mia vita a mantenerlo, ed ora, vent’anni dopo…Vent’anni dopo, Git è ovunque.
Mantenuto da Junio Hamano, software engineer giapponese a cui Torvalds ha fatto i complimenti per l’egregio lavoro svolto, Git è usato dai progetti personali alle più grandi codebase aziendali, dai repository pubblici su GitHub (che nel frattempo è diventato il più grande hub di codice collaborativo al mondo) agli ambienti enterprise più blindati.
Git è diventato lo standard per lo sviluppo software moderno. E come ogni strumento che si rispetti, con l’uso si evolve, si esplora, si padroneggia.
Quale modo migliore di celebrare questo importante compleanno di Git, se non ripercorrendo la serie di articoli che abbiamo pubblicato qui su Mia Mamma Usa Linux dal “Git & Tricks – Pillole di source code management”? Un mini-percorso per chi vuole passare da utilizzatore occasionale a Git ninja… O quantomeno utilizzatore consapevole.
Questi gli articoli (sin qui) pubblicati:
Parte 1: Un ambiente confortevole (leggi l’articolo): il primo passo per diventare amici di Git è… farlo sentire a casa. In questa prima parte ci siamo concentrati su .gitconfig, alias, prompt e piccole grandi configurazioni per rendere l’esperienza Git non solo più efficiente, ma anche più umana.
Parte 2: Gestire i commit con empatia (leggi l’articolo): Git conserva memoria di ogni cambiamento, ma spetta a noi sviluppatori raccontare come e perché quel cambiamento è avvenuto. Qui abbiamo parlato dell’importanza di scrivere messaggi di commit chiari, sensati, e – perché no – empatici. Perché chi leggerà il log potrebbe essere qualcun altro. Oppure tu, fra sei mesi, con l’espressione persa nel vuoto e il classico “chi diamine ha scritto ‘fix issue’?!”.
Parte 3: L’importanza del rebase per un mondo migliore (leggi l’articolo): merge o rebase? Guerra eterna. Ma nel nostro terzo capitolo abbiamo provato a mostrare come un uso consapevole del rebase possa migliorare la qualità della storia del progetto, ridurre la confusione nei branch, e rendere le revisioni più semplici e lineari. Perché no, non è solo un esercizio di stile: è cura collettiva del codice.
Buon compleanno Git. Mille di questi giorni!
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.