Cos’è GitHub?

Cos'è? - Miniatura della rubrica di marcogarosi.it

Se sei uno sviluppatore software non puoi non conoscere GitHub. Se non ne hai mai sentito parlare, comunque, non preoccuparti. Molto brevemente, si tratta di un servizio di hosting per progetti software. In qualsiasi caso, niente panico: ecco cos’è GitHub!

Realizzare un software di qualsiasi tipo non consiste in un’unica fase. La scrittura del codice sorgente non è continua e, soprattutto, non porta ad un risultato definitivo. Spesso vengono effettuate delle modifiche, per ottimizzare il programma in termini di tempo impiegato per l’esecuzione, di quantità di risorse richieste, ecc. Non solo: dopo la prima release ne seguono, solitamente, tante altre; ognuna apporta dei miglioramenti: risoluzioni di bug o introduzioni di nuove funzioni. Insomma, un software è un’entità in continuo mutamento.

Perché si usano i sistemi Git?

Come ti stavo dicendo, un software subisce tantissime modifiche nel corso della sua esistenza. Alcune sono di lieve entità, altre sono di grande portata. Tutte, però, possono portare alla “rottura” di quanto scritto fino a quel momento. Cosa fare, quindi, in questa situazione? Nei piccoli progetti, un semplice CTRL-Z (o Command-Z) potrebbe bastare. Ma immagina di lavorare con centinaia, se non di più, di altri programmatori. Ognuno, in ogni momento, sta modificando il tuo stesso programma, in punti diversi. Le probabilità che qualcosa vada storto e non si possa tornare più indietro sono altissime.

Proprio per questo motivo, quindi, sono stati inventati i sistemi Git. In poche parole, sono dei software che si occupano di controllare la versione del tuo programma e ne tracciano tutte le modifiche. Così facendo, è possibile controllare, in qualsiasi istante, tutti i cambiamenti fatti dall’ultima versione funzionante. Hai introdotto un nuovo errore? Con un sistema Git lo troverai – e risolverai – molto velocemente.

Perché si usa GitHub?

GitHub, come puoi intuire dal nome, è un sistema basato su Git. Tuttavia, a differenza del Git originale (quello disponibile a linea di comando, creato da Linus Torvalds), GitHub è basato sul Web. Quest’ultimo, quindi, offre tutte le caratteristiche del classico Git, con l’aggiunta di numerose (e interessantissime) chicche.

Sviluppatori da tutto il mondo lo sfruttano quotidianamente, caricando il loro codice sorgente nelle cosiddette repository – che possono essere private o pubbliche. Grazie a GitHub, infatti, possono tracciare i problemi rilevati (con un sistema chiamato issue tracking), possono visualizzare i commenti degli altri utenti e possono persino essere aiutati da decine, centinaia o migliaia di altri programmatori.

Insomma, GitHub è un ottimo strumento per tutti i progetti open source: le pagine riassuntive spiegano il funzionamento del software, gli sviluppatori possono aiutarsi a vicenda e possono segnalare i bug.

Tuttavia, a dispetto di quanto tu possa credere, GitHub è scelto anche da tantissime aziende. Grazie alle sue capacità di rendere collaborativa la scrittura di codice, permette a numerose persone di lavorare, contemporaneamente, sul medesimo progetto. Come? Grazie alla sua struttura centralizzata, che permette di raccogliere in un posto unico tutto il codice sorgente. In poche parole, offre la garanzia di mancanza di incongruenze tra le varie versioni del software. Ad oggi, lo usano aziende del calibro di Apple, Google, Microsoft, IBM, Facebook, Twitter, JetBrains e persino GitHub stesso.

Alcune statistiche

GitHub, a novembre 2018, contava oltre 100 milioni di repository e 31 milioni di sviluppatori registrati. Grazie all’acquisizione da parte di Microsoft – avvenuta nel giugno 2018 -, inoltre, è stato reso completamente gratuito per i singoli sviluppatori.

In conclusione, rappresenta uno strumento potentissimo e che ogni programmatore dovrebbe perlomeno provare. Permette di risparmiare ore di lavoro per ripristinare un software allo stato precedente e offre tantissime funzioni indispensabili per realizzare grandi progetti. Perché, quindi, non dargli una chance?!