GitHub cos’è e come funziona: introduzione a GitHub per principianti

GitHub

GitHub è una piattaforma di hosting web che permette ai programmatori, e non solo, di archiviare e gestire le varie versioni di progetti, file, codici permettendone la condivisione.

Questa applicazione può essere paragonata a qualsiasi social network utilizzato dalla popolazione come Facebook, Instagram, TikTok, Linkedin, l’unica differenza sta nel tipo di contenuti che vengono condivisi: durante lo scorrimento della home i contenuti non saranno di carattere personale ma verranno messi a disposizione contenuti legati a progetti in codice, File, bozze di futuri libri. Inoltre, è una piattaforma che permette la creazione di reti sociali e di conoscere nuove persone creando collaborazioni grazie alla condivisione di repository (progetti).

Una volta creato un account sulla piattaforma, cercare tra le varie repository un progetto di interesse può coinvolgere gli utenti a interagire tra di loro fornendo consigli, eventuali modifiche al progetto o collaborazioni.

GitHub ha riscosso molto successo migliorando le capacità di gestione di diverse versioni dei documenti, semplificandone l’archiviazione. L’obiettivo principale è registrare le varie versioni del progetto in modo da disporre di uno storico con tutte le modifiche apportate e poter tornare, in caso di necessità, alle versioni precedenti del codice.

Il funzionamento della piattaforma dipende da un sottosistema che prende il nome di Git. Creato dal fondatore di Linux, Linus Torvalds, è un software di controllo di versione locale consigliato prettamente per uso individuale e open source (il codice sorgente è a disposizione del pubblico).

L’idea è nata da Torvalds e i suoi collaboratori durante la messa a punto del Kernel di Linux per mantenere la versione precedente del software, nel caso in cui l’aggiornamento non avesse garantito i risultati sperati.

Sin dalla sua progettazione, avvenuta nel 2005, si è immediatamente affermato come software leader per il controllo di versioni.

Anche questo aspetto ha permesso a GitHub un gran successo offrendo, nel 2008, servizi che permettessero agli utenti di gestire i processi di sviluppo software di app e sistemi acquisendone il monopolio. Nel giugno 2018 è stata acquisita da parte di Microsoft e dal 2020 offre anche servizi su applicazioni per smartphone su sistemi iOS e Android.

Un’ altra importante motivazione per il quale viene usato GitHub è la possibilità, oltre di salvare diverse versioni del codice, di svolgere efficienti lavori di gruppo condividendo i propri progetti (come fatto dal giovanissimo programmatore italiano Gabriele Cirulli con 2048).

Comandi per l’utilizzo  e GitHub Desktop

L’utente interagisce con GitHub grazie ad un’interfaccia grafica composta da comandi necessari per il suo utilizzo come:

  • Repository – è il bacino creativo e di archiviazione dei progetti di sviluppo software e di altri codici;
  • Version control – è il fulcro di tutto il sistema software di Git e GitHub. È un meccanismo che permette di gestire tutte le varie versioni dei documenti creati e modificati attribuendo a ogni nuovo file modificato un numero progressivo;
  • Commit – accetta le modifiche imposte dall’indice e poi crea un nuovo commit che imposti la direzione del ramo in modo tale che punti al commit appena creato;
  • Branch – intendiamo il ramo in cui ogni utente può personalizzare un progetto esistente creando un nuovo repository con le modifiche apportate allo stesso progetto;
  • Merge – è una richiesta che può essere inviata all’utente, proprietario del file originale, richiedendo l’unione del codice per apportare modifiche.

Le funzionalità gestite da GitHub sono legate alle attività di pull (scaricare localmente il codice memorizzato nella repository da remoto) e attività di Push (caricare le modifiche del codice sulla repository pubblica). Tra i servizi forniti dall’applicazione per semplificare il suo utilizzo c’è l’applicazione GitHub desktop.

GitHub Desktop è un’applicazione, open source, con l’obiettivo di aumentare e migliorare la collaborazione in team applicando le migliori pratiche di Git. Si avvale di un sistema GUI e non di un browser, permette di completare comandi di Git con riscontro visivo, di duplicare le repository remote e aumentare la collaborazione a progetti. Possono essere usate le repository create su GitHub, accedendo sul proprio account.

GitHub vs GitLab: principali differenze

GitLab è una piattaforma di gestione delle versioni di repository di Git. Si avvale di un sistema open source che permette il salvataggio del proprio progetto con accesso privato e pubblico. Garantisce funzionalità simili al GitHub come attività di Pull/Push e attività di merge (unire modifiche consigliate al file originale).

GitlLab è il principale competitors di GitHub, infatti, sono le più famose applicazioni che si occupano di sistemi di gestione delle versioni software. Delle differenze sostanziali portano GitHub ad essere l’applicazione più usata dagli sviluppatori. Il grande numero di utenti permette alla piattaforma di offrire per i progetti open source, e non solo, la possibilità di poterli condividere e cercare collaborazioni più in linea con il singolo progetto. Questo permette un ampliamento costante degli sviluppatori sull’applicazione. Ulteriori differenze:

 

GitHub

GitLab

Possiede funzionalità per il tracciamento dei commenti I commenti non vengono tracciati
Integrazione dei tool  provenienti da terzi Integrazione tool costante
Non è in grado si esportare le issue come file CSV In grado si esportare issue come file CSV
Le issue possono essere tracciati su numerose repository contemporaneamente Le issue non possono essere tracciati su più repository
Una dashboard personale per tracciare le issue Una dashboard per pianificare e monitorare i progetti

 

 

Menu