Ma com'è nato Git? La “nascita” di Git è legata, come talvolta succede nel mondo open-source, alla necessità di avere una alternativa free a un tool proprietario.
Nel 2005 lo sviluppo del kernel Linux aveva raggiunto, in termini di righe di codice, una dimensione ragguardevole e le varie modifiche apportate venivano gestite anche tramite l’invio per email di patch (file che contengono la “differenza” tra la versione originale e la versione modificata dall’autore delle modifiche).
Già da qualche anno gli sviluppatori di Linux utilizzavano Bitkeeper, un SCM proprietario per il quale era disponibile una licenza “community”, seppur con alcune restrizioni. A causa di queste restrizioni, alcuni sviluppatori tentarono di realizzare una copia open di BitKeeper, ma tale azione fu vista come contraria ai termini d’utilizzo di BitKeeper e fu quindi ritirata la licenza “community”.
Privi di un tool adeguato a gestire il carico di lavoro necessario – nel racconto di Linus Torvalds, il tempo necessario ad applicare una singola patch era circa mezzo minuto e per modifiche più elaborate, composte da diverse patch in sequenza, potevano essere necessarie fino a due ore solo per applicare le patch – Torvalds e altri sviluppatori di Linux decisero di creare un tool che fosse adeguato alle loro esigenze. Principali obiettivi erano, infatti, quello di supportare un flusso di lavoro distribuito, salvaguarda della corruzione dei dati (accidentale o intenzionale) e altissime prestazioni.
Nel giro di poche settimane, da inizio aprile 2005 a metà luglio dello stesso anno, Git fu sviluppato e diventò lo strumento di gestione e pubblicazione delle release del kernel Linux.
A dicembre dello stesso anno fu rilasciata la versione 1.0.