Come usare GitHub
Se sei un programmatore, uno sviluppatore software o semplicemente un appassionato di tecnologia, è probabile che tu abbia già sentito parlare di GitHub, una delle piattaforme di hosting più famose e utilizzate al mondo per il versioning di codice sorgente e la collaborazione tra sviluppatori. GitHub offre un ambiente potente e intuitivo che ti consente di gestire i tuoi progetti, collaborare con altri utenti e contribuire alla community open-source.
In questa mia guida ti condurrò passo dopo passo attraverso l'utilizzo di GitHub, fornendoti tutte le informazioni necessarie per diventare un esperto nella gestione dei tuoi repository e nel contribuire ai progetti open-source. Il primo passo prevede la conoscenza di Git, sistema di controllo di versione legato alla piattaforma di hosting online per progetti software GitHub. Che tu sia un principiante o un utente già esperto, troverai consigli e suggerimenti utili per migliorare la tua esperienza su questa piattaforma.
Se ti chiedi come usare GitHub sei nel posto giusto! Prima di iniziare, è importante sottolineare che GitHub è una piattaforma incredibilmente versatile, utilizzata in una vasta gamma di contesti, dalle startup alle grandi aziende e dalla comunità open-source ai progetti personali. Sia che tu voglia tenere traccia delle modifiche del tuo codice, lavorare con un team di sviluppatori o semplicemente esplorare progetti interessanti, GitHub offre tutte le risorse di cui hai bisogno.
Indice
Come usare Git
Partiamo facendo un po' di chiarezza sulle differenze tra Git e Github. Mentre Git è il sistema di controllo versione distribuito, GitHub è una piattaforma di hosting per repository Git. GitHub permette agli sviluppatori di condividere i propri progetti, collaborare con altri sviluppatori, eseguire il controllo delle versioni e gestire problemi e richieste di pull in modo efficiente. In sintesi, Git è lo strumento che consente di tenere traccia delle modifiche al codice, mentre GitHub è la piattaforma che rende la collaborazione tra gli sviluppatori più semplice e offre funzionalità aggiuntive per la gestione dei progetti.
Entrando più nello specifico, Git è un sistema di controllo versione distribuito ampiamente utilizzato dai professionisti dello sviluppo software per tenere traccia delle modifiche apportate al codice durante il processo di sviluppo. Questo strumento potente e flessibile consente agli sviluppatori di lavorare in modo collaborativo, gestire le versioni del codice e risolvere conflitti in modo efficiente.
Lo scopo principale di Git è quello di tenere traccia delle modifiche apportate al codice di un progetto nel tempo, permettendo agli sviluppatori di collaborare in modo efficiente e di gestire le diverse versioni del codice. Per iniziare a utilizzare Git, è necessario inizializzare un repository Git in una cartella del proprio progetto. Per fare ciò, apri il terminale nella cartella del progetto e impartisci il seguente comando.
git init
Questo comando crea una directory .git all'interno del progetto, che conterrà tutte le informazioni relative al repository Git. Una volta inizializzato il repository, puoi aggiungere i file che desideri includere nella tracciatura di Git. Ad esempio, per aggiungere tutti i file presenti nella cartella del progetto, digita il seguente codice.
git add
Per “committare”, ossia aggiungere dei cambiamenti al repository, digita il seguente comando, seguito da un messaggio descrittivo delle modifiche effettuate.
git commit -m “Aggiunte nuove funzionalità al progetto”
Per visualizzare la storia dei commit nel repository puoi, infine, utilizzare il seguente comando.
git log
Vuoi conoscere altro su Git? te ne parlo in maniera più approfondita in questa mia guida dedicata.
Come funziona GitHub
GitHub è una delle piattaforme più popolari al mondo per la condivisione e la gestione di progetti software utilizzando il sistema di controllo versione Git. Fondata nel 2008, GitHub ha rivoluzionato il modo in cui gli sviluppatori collaborano, permettendo loro di lavorare insieme in modo più efficace e di condividere il proprio codice con una vasta community globale.
Questo potente strumento combina la potenza di Git con una serie di funzionalità aggiuntive che semplificano la gestione dei repository, la collaborazione e la tracciabilità delle modifiche. Da progetti open-source a sviluppo di software aziendali, GitHub è diventato una risorsa fondamentale per gli sviluppatori di ogni livello di esperienza.
La piattaforma, per la quale è disponibile un pacchetto completo in forma gratuita, funziona come un centro di condivisione e gestione dei progetti software, consentendo agli sviluppatori di lavorare in modo efficiente, trasparente e ben organizzato. Ecco un'analisi più approfondita di come funziona GitHub.
Creazione di un account
La creazione di un account su GitHub è il primo passo fondamentale per iniziare a utilizzare questa potente piattaforma di hosting e collaborazione per progetti software. Il possesso di un account ti permette, infatti, di partecipare alla community degli sviluppatori, contribuire a progetti open-source e condividere il tuo lavoro con il mondo intero.
Per iniziare, visita il sito Web ufficiale di GitHub. Nella pagina principale, in alto a destra, troverai l'opzione Sign up. Cliccaci sopra per avviare la procedura di creazione di un account. Se sei, invece, già in possesso di un account, fai clic sul pulsante Sign in e inserisci correttamente i tuoi dati di accesso.
Una volta inserito l'indirizzo email e una password sicura, dovrai scegliere un nome utente. Questo nome sarà parte dell'URL del tuo profilo GitHub, del tipo github.com/nome_utente, quindi assicurati di scegliere un nome unico e rappresentativo. Dopo aver completato il modulo di registrazione, in cui indicare le tue preferenze e perché intendi utilizzare GitHub, la piattaforma ti invierà un'email di verifica all'indirizzo indicato. Accedi alla tua casella di posta e clicca sul link di verifica per attivare il tuo account.
Puoi scegliere tra un piano gratuito, di per sé molto completo, o la suite a pagamento GitHub Pro a 4 dollari al mese, che offre più spazio online e maggiori possibilità di collaborazione in team. Con il tuo account attivo, puoi ora esplorare GitHub e iniziare a scoprire una vasta gamma di progetti open-source, trovare repository interessanti da seguire e partecipare alle discussioni della community. Puoi anche creare il tuo primo repository per condividere il tuo codice con gli altri sviluppatori. Considera l'opzione di abilitare l'autenticazione a due fattori per aumentare la sicurezza del tuo account.
Creazione e gestione di un repository
Il cuore di GitHub è rappresentato dai repository. Un repository è una cartella virtuale contenente i file, il codice sorgente, la documentazione e gli asset del progetto. GitHub ospita e gestisce questi repository, consentendo agli sviluppatori di tenere traccia delle modifiche apportate al codice nel tempo. Grazie al sistema Git è possibile visualizzare lo storico completo delle modifiche effettuate, permettendo un controllo preciso delle variazioni nel codice. Nei seguenti passaggi ti spiego il processo di creazione e gestione di un repository su GitHub.
- Nuovo repository — clicca sul simbolo + nella parte superiore della pagina e seleziona New repository.
- Dai un nome al repository — nella schermata che compare puoi assegnare un nome significativo al tuo repository. Il nome dovrebbe essere breve, descrittivo e unico all'interno del tuo account GitHub.
- Configura il repository — aggiungi ora una breve descrizione per spiegare lo scopo del repository. Cerca di essere sintetico ma di riassumere allo stesso tempo tutte le informazioni necessarie. Se desideri rendere il repository accessibile a tutti, seleziona Public, altrimenti, scegli Private per limitarne l'accesso agli utenti che inviti esplicitamente. Puoi anche inizializzare il repository con un file “README”, che sarà visualizzato sulla pagina principale del repository. Infine conferma con Create repository.
- Gestisci il repository — Una volta creato il repository, è il momento di aggiungere file e organizzare il progetto. Nella pagina del repository, fai clic su uploading an existing file o creating a new file per caricare file esistenti o creare nuovi file direttamente su GitHub. Puoi caricare file singoli o intere cartelle. Organizza i file utilizzando cartelle e sfrutta le funzionalità di GitHub per aggiungere etichette (“labels) e assegnare ”milestone" alle issue per tenere traccia delle attività.
La gestione del repository può avvenire manualmente, usando Git, o avvelendosi dell'intelligenza artificiale GitHub Copilot. In quest'ultimo caso seleziona l'apposito pulsante Set up GitHub Copilot presente in alto a sinistra. Puoi inoltre avvalerti dell'applicativo GitHub Desktop, cliccando sulla riga Set up in Desktop poco più in basso.
Una delle caratteristiche fondamentali di GitHub è la possibilità di forking. Il fork è una copia esatta di un repository, creata da un utente al fine di sviluppare in modo indipendente nuove funzionalità o correggere errori. Gli sviluppatori possono lavorare sul fork in modo isolato, testare le modifiche e successivamente richiedere di integrare le loro modifiche nel repository originale.
GitHub consente agli sviluppatori di creare branch all'interno di un repository. Un branch è una copia temporanea del codice che consente agli sviluppatori di lavorare su nuove funzionalità o correzioni di bug senza influenzare il codice principale. Una volta che le modifiche sono state effettuate nel branch, gli sviluppatori possono avviare una pull request per richiedere l'integrazione delle loro modifiche nel ramo principale del repository. Le pull request consentono agli altri membri del team di esaminare le modifiche, fornire feedback e approvare la loro integrazione nel codice principale.
Gestire le issue
GitHub fornisce uno strumento di gestione delle issue, ossia una funzionalità che permette di segnalare e tenere traccia di bug, richieste di nuove funzionalità o altri problemi relativi al progetto. Gli sviluppatori possono utilizzare le issue per discutere e risolvere problemi, tenendo traccia dei progressi e delle discussioni aperte. Per creare e gestire le issue su GitHub, segui questi passaggi.
- Accedi alla sezione Issues — nella pagina principale del repository, clicca in altro sulla scheda Issues e poi sul pulsante verde New issue.
- Dettaglia il problema — scrivi un titolo chiaro e descrittivo per l'issue. Aggiungi una descrizione dettagliata del problema, dell'attività o del miglioramento che desideri affrontare con questa issue.
- Utilizza le etichette — puoi utilizzare delle etichette, note come “labels”, per classificare l'issue e facilitare la sua individuazione in futuro. Puoi selezionarle dall'apposito menu sulla destra. Dopo aver fatto clic sul bottone relativo, potrai selezionare la tipologia di issue, come “bug”, “duplicate”, “enhancement” ecc. Accanto alle “labels” puoi trovare le “milestone”. Le milestone sono utilizzate per raggruppare issues correlate in un obiettivo più ampio o in una versione del progetto. Puoi creare una milestone e assegnarla a un gruppo di issues correlate. Questo aiuta a organizzare il lavoro e a monitorare i progressi verso obiettivi specifici.
- Assegna l'issue a uno o più collaboratori — GitHub consente di assegnare le issue a uno o più collaboratori del repository. Questo aiuta a tenere traccia di chi è responsabile di ciascuna issue e favorisce la collaborazione. Quando un collaboratore si occupa di un'issue, può commentare l'avanzamento del lavoro e aggiornare lo stato della issue.
Durante il ciclo di vita di un progetto, le issue possono passare attraverso diversi stati. Le issue aperte rappresentano problemi o attività che devono ancora essere affrontati, le issue in lavorazione identificano quando un collaboratore decide di occuparsi di un'issue, le issue chiuse indicano, infine che il problema è stato affrontato o l'attività è stata completata con successo.
La gestione delle issue su GitHub è essenziale per organizzare il lavoro, coinvolgere i collaboratori e mantenere il repository in ordine. Utilizza le issue in modo efficace per facilitare la comunicazione, la collaborazione e la risoluzione dei problemi all'interno del tuo progetto.
Come usare GitHub Copilot
GitHub Copilot è uno strumento di sviluppo all'avanguardia basato sull'intelligenza artificiale, sviluppato da GitHub in collaborazione con OpenAI, i creatori di ChatGPT. Questo potente strumento è progettato per supportare gli sviluppatori nella scrittura del codice in modo rapido ed efficiente, fornendo suggerimenti intelligenti e soluzioni a problemi specifici.
Con GitHub Copilot, gli sviluppatori possono comunicare utilizzando il linguaggio naturale e chiedere al programma di generare codice al loro posto. Questo avanzato strumento “comprende” le intenzioni dello sviluppatore e sfrutta le sue conoscenze per proporre la soluzione migliore in base al contesto. Il risultato è un miglioramento significativo del flusso di lavoro, permettendo agli sviluppatori di risparmiare tempo prezioso durante la scrittura del codice.
Ti chiedi come usare GitHub Copilot? Recati innanzitutto sulla pagina di attivazione del servizio. Per iniziare a utilizzare GitHub Copilot, assicurati di avere Visual Studio Code installato sul tuo computer. Non sai di cosa si tratta? Te ne parlo meglio in questa mia guida dedicata. Nella successiva schermata di installazione, inserisci le tue informazioni di pagamento. GitHub Copilot è infatti un servizio a pagamento dal costo di 10 dollari al mese oppure 100 dollari all'anno Puoi inizialmente usufruire di un periodo di prova di 30 giorni, al termine del quale scegliere se rinnovare il servizio.
Una volta installato, GitHub Copilot funzionerà automaticamente mentre digiti del codice all'interno di Visual Studio Code. A mano a mano che scrivi, l'estensione suggerirà completamenti intelligenti basati sul contesto del codice circostante.
Tuttavia, è importante sottolineare che, nonostante le sue funzionalità avanzate, GitHub Copilot, come tutte le intelligenze artificiali, ha alcune limitazioni. Occasionalmente, potrebbe fornire suggerimenti non del tutto corretti o pertinenti. Pertanto, è fondamentale che gli sviluppatori mantengano sempre un approccio critico e attivamente partecipino al processo di sviluppo, comprendendo il codice generato e validandone la correttezza. GitHub Copilot rappresenta un notevole progresso nell'utilizzo dell'intelligenza artificiale per il supporto nello sviluppo del codice. Sfrutta questa risorsa in modo responsabile, integrando il tuo sapere e la tua esperienza nella scrittura del codice e continuando a crescere come sviluppatore.
Come usare GitHub Desktop
GitHub Desktop è un'applicazione desktop user-friendly che semplifica notevolmente l'utilizzo di GitHub per gestire il controllo di versione dei tuoi progetti. Questa applicazione, tramite un'interfaccia grafica intuitiva, rende più facile per gli sviluppatori gestire i propri repository, eseguire commit, creare nuovi branch e sincronizzare le modifiche con il repository remoto su GitHub.
L'applicativo è gratuito e disponibile per Windows, macOS e Linux. Per iniziare, scarica e installa GitHub Desktop dal sito ufficiale di GitHub. Una volta installato, avvia l'applicazione e accedi al tuo account GitHub o crea un nuovo account se non ne hai uno. Dopo aver effettuato l'accesso, GitHub Desktop ti chiederà di configurare alcune impostazioni iniziali, come la scelta del tuo editor di testo preferito e le impostazioni di Git. Assicurati di configurare correttamente queste opzioni per garantire un flusso di lavoro fluido.
Per iniziare a lavorare su un progetto esistente, puoi clonare un repository dal tuo account GitHub utilizzando GitHub Desktop. Per farlo, fai clic sul pulsante Clone a Repository nella parte superiore dell'applicazione. Successivamente, verrà visualizzato un elenco dei tuoi repository GitHub. Seleziona il repository che desideri clonare e specifica la posizione in cui vuoi salvarlo sul tuo computer. Una volta completata la clonazione, sarai pronto per iniziare a lavorare sul progetto in locale. Il funzionamento dell'applicativo desktop è del tutto simile a quanto visto sopra ma più intuitivo.
In sintesi, GitHub è un'interfaccia Web completa e ricca di funzionalità per gestire i repository e collaborare su GitHub, mentre GitHub Desktop è un'applicazione desktop che offre un'esperienza più user-friendly e semplificata per lavorare con Git e GitHub sul tuo computer locale. La scelta tra i due strumenti dipende dalle tue preferenze personali e dalle esigenze specifiche del tuo flusso di lavoro di sviluppo.
Autore
Salvatore Aranzulla
Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.