Dopo aver esplorato i modelli di collaborazione e di sviluppo condiviso in Git, vediamo quali sono i suoi principali repository online.
GitHub cos’è?
Per essere molto chiari su cosa sia esattamente GitHub, si tratta di un servizio di condivisione di file o codice per collaborare con diverse persone.
GitHub è un software molto utilizzato per il controllo delle versioni. È utile quando più di una persona lavora a un progetto. Ad esempio, un team di web developers vuole costruire un sito web e ognuno deve aggiornare i propri codici contemporaneamente mentre lavora al progetto. In questo caso, Github li aiuta a creare un repository centralizzato dove tutti possono caricare, modificare e gestire i file di codice.
Perché Github è così popolare?
GitHub ha diversi vantaggi, ma spesso molti hanno il dubbio che non si possa usare dropbox o qualsiasi altro sistema basato sul cloud. Per rispondere a questa domanda, riprendiamo lo stesso esempio. Supponiamo che più di due web developers stiano lavorando allo stesso file e vogliano aggiornarlo contemporaneamente. Purtroppo, la persona che salva il file per prima avrà la precedenza sugli altri.
In Github, invece, non è così. Github documenta le modifiche e le riflette in modo organizzato per evitare il caos tra i file caricati.
Pertanto, utilizzando il repository centralizzato di GitHub, si evita tutta la confusione e lavorare sullo stesso codice diventa molto semplice.
GitHub è un repository centrale e Git è uno strumento che permette di creare un repository locale. Di solito le persone si confondono tra git e GitHub ma, in realtà, sono due cose molto diverse.
Git è uno strumento di controllo delle versioni che consente di eseguire tutti i tipi di operazioni per recuperare i dati dal server centrale o per inviarli ad esso, mentre GitHub è una piattaforma di hosting per la collaborazione nel controllo delle versioni. GitHub è una società che consente di ospitare un repository centrale in un server remoto.
Proviamo a pensare ai modi in cui GitHub semplifica Git:
GitHub fornisce una bella interfaccia visiva che aiuta a tenere traccia o a gestire i progetti a controllo di versione a livello locale.
Una volta registrati su GitHub, è possibile connettersi con i social network e costruire un profilo solido.
Ma come funziona Github? Scopriamolo insieme.
GitHub come funziona?
Vediamo, adesso, come poter utilizzare Github e cosa possiamo fare con questa piattaforma.
Come creare un repository GitHub?
Un repository è uno spazio di archiviazione in cui risiede il tuo progetto. Può essere locale, in una cartella del computer, oppure può essere uno spazio di archiviazione su GitHub o su un altro host online. In un repository si possono conservare file di codice, file di testo, immagini o qualsiasi altro tipo di file. È necessario un repository GitHub quando si sono apportate delle modifiche e sono pronte per essere caricate. Questo repository GitHub funge da repository remoto. ìSe ti stai chiedendo come creare un repository su Github, ti basterà seguire questi semplici passaggi:
- Vai al link: https://github.com/ .
Compila il modulo di iscrizione e fare clic su "Iscriviti a Github". - Clicca su "Avvia un nuovo progetto".
Ora, avrai sicuramente notato che come impostazione predefinita un repository GitHub è pubblico, il che significa che chiunque può visualizzare i contenuti di questo repository, mentre in un repository privato è possibile scegliere chi può visualizzare i contenuti.
Inoltre, il repository privato è una versione a pagamento. Non per ultimo, se si fa riferimento alla schermata precedente, si inizializza il repository con un file README.
Questo file contiene la descrizione del file e, una volta selezionata questa casella, sarà il primo file del repository.
Ora il nostro repository centrale è stato creato con successo! Una volta fatto questo, si è pronti a eseguire commit, pull, push e tutte le altre operazioni.
Ma andiamo per gradi e proviamo a capire come funzionano i branch in GitHub.
Creare branch ed eseguire operazioni in GitHub
I branch aiutano a lavorare su diverse versioni di un repository contemporaneamente. Supponiamo che tu voglia aggiungere una nuova funzionalità (che è in fase di sviluppo) e che allo stesso tempo, però, tu abbia timore di apportare modifiche al progetto principale. È qui che i branch di git vengono in soccorso.
I branch permettono di spostarsi avanti e indietro tra i diversi stati/versioni di un progetto. Nello scenario precedente, è possibile creare un nuovo ramo e testare la nuova funzionalità senza influenzare il branch principale.
Una volta terminato, si possono unire le modifiche dal nuovo branch al branch principale. In questo caso il branch principale è il branch main, che è presente nel repository per impostazione predefinita.
C'è un branch main che ha bisogno di un nuovo branch per i test. In questo branch vengono eseguite due serie di modifiche e, una volta completate, vengono unite di nuovo al branch main.
Ecco come funziona la ramificazione!
Scopriamo, ora, come creare un branch in GitHub.
Per creare un branch in GitHub, dovrai seguire i seguenti passaggi:
Fai clic sul menu a tendina "Branch: main".
Non appena si fa clic sul branch, è possibile trovare un branch esistente o crearne uno nuovo.
Nel nostro caso, stiamo creando un nuovo branch con il nome "readme-changes".
Una volta creato un nuovo branch, nel repository sono presenti due branches: main e readme-changes. Il nuovo branch è solo una copia del branch main. Eseguiamo, quindi, alcune modifiche nel nostro nuovo branch e rendiamolo diverso dal branch main.
Utilizzando l’editor di testo integrato in Github modifichiamo il file readme del branch readme-changes e andiamo a eseguire un commit.
Questa operazione consente di salvare le modifiche apportate al file. Quando si esegue il commit di un file, si dovrebbe sempre fornire il messaggio, proprio per tenere a mente le modifiche apportate dall'utente. Nonostante questo messaggio non sia obbligatorio, è sempre consigliato inserirlo, in modo da poter differenziare le varie versioni o commit effettuati finora nel repository. Questi messaggi di commit mantengono la cronologia delle modifiche che, a loro volta, aiuta gli altri collaboratori a comprendere meglio il file. Ora facciamo il nostro primo commit, seguendo i passaggi seguenti:
- Fai clic sul file "readme- changes" che abbiamo appena creato.
- Fai clic sull'icona "edit" o matita nell'angolo destro del file.
- Una volta cliccato, si aprirà un editor in cui è possibile digitare le modifiche o qualsiasi altra cosa.
- Scrivi un messaggio di commit che identifichi le vostre modifiche.
- Alla fine, fai clic su "commit changes".
Abbiamo effettuato con successo il nostro primo commit. Ora questo file "readme-changes" è diverso dal branch main. Vediamo, ora, come aprire una richiesta di pull.
Creare una pull request su github
Il comando Pull è il comando più importante di GitHub.
Indica le modifiche apportate al file e chiede agli altri collaboratori di visualizzarlo e di unirlo al branch main. Una volta eseguito il commit, chiunque può prelevare il file e avviare una discussione su di esso. Una volta terminato, è possibile unire il file. Il comando pull confronta le modifiche apportate al file e, se ci sono conflitti, è possibile risolverli manualmente.
Vediamo ora le diverse fasi della richiesta di pull in GitHub.
- Fai clic sulla scheda "Richieste di pull".
- Fai clic su "Nuova richiesta di pull".
- Una volta cliccato sulla richiesta di pull, seleziona il branch e fare clic sul file "readme" per visualizzare le modifiche tra i due file presenti nel repository.
- Fai clic su "Crea richiesta di pull".
- Inserisci un titolo e una descrizione delle modifiche e fai clic su "Create pull request".
Quindi, andiamo avanti e vediamo come unire la richiesta di pull.
Merging pull request
Ecco l'ultimo comando che unisce le modifiche al ramo master principale. Abbiamo visto le modifiche in colore rosa e verde, ora uniamo il file "readme" con il branch main.
Segui i passaggi seguenti per unire la richiesta di pull.
- Fai clic su "Merge pull request" per unire le modifiche al branch main.
- Fai clic su "Conferma merge".
- È possibile eliminare il branch una volta che tutte le modifiche sono state incorporate e se non ci sono conflitti.
Passiamo, quindi, all'ultimo argomento di questa guida, ovvero la clonazione di un repository GitHub.
Clone di un repository GitHub
Prima di parlare della clonazione di un repository GitHub, cerchiamo di capire perché è necessario clonare un repository. La risposta è semplice!
Se si vuole utilizzare del codice presente in un repository pubblico, si può copiare direttamente il contenuto clonandolo o scaricandolo.
Per clonare un repository pubblico ti basterà entrare nel repository e cliccare sul tasto verde in alto a destra su “code”: potrai clonare attraverso il comando da console git clone oppure scaricare direttamente il repository sotto forma di zip.
Alternative a GitHub
Finora abbiamo parlato di Github come possibile piattaforma per repository online ed, effettivamente, ad oggi è tra le più utilizzate dagli sviluppatori; tuttavia, esistono delle valide alternative a Github.
Vediamole insieme!
GitLab
GitLab è un repository Git basato sul web che offre repository aperti e privati gratuiti, funzionalità di issue-following e wiki. È una piattaforma DevOps completa che consente ai professionisti di svolgere tutte le attività di un progetto, dalla pianificazione e gestione del codice sorgente al monitoraggio e alla sicurezza. Inoltre, consente ai team di collaborare e di creare software migliori.
GitLab aiuta i team a ridurre i cicli di vita dei prodotti e ad aumentare la produttività, creando così valore per i clienti. L'applicazione non richiede agli utenti di gestire le autorizzazioni per ogni strumento. Se le autorizzazioni vengono impostate una sola volta, tutti i membri dell'organizzazione hanno accesso a ogni componente.
Bitbucket
BitBucket è un servizio basato sul cloud che aiuta gli sviluppatori a memorizzare e gestire il proprio codice, nonché a tracciare e controllare le modifiche apportate al codice. BitBucket offre un servizio di hosting di repository Git basato sul cloud. L'interfaccia è abbastanza semplice da consentire anche ai codificatori alle prime armi di trarre vantaggio da Git. In genere, per utilizzare Git da solo, sono necessarie conoscenze tecniche più approfondite e l'uso della riga di comando. Inoltre, BitBucket offre una serie di servizi, come la possibilità per i team di collaborare e creare progetti, testare e distribuire il codice.