I principali repository remote di Git: Github, Gitlab e Bitbucket


Lezione 36 / 53

I principali repository remote di Git: Github, Gitlab e Bitbucket

git Github Bitbucket Gitlab guida git guida git italiano

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.

 

Guida Git in italiano 1 Che cos'è Git? 2 Nascita di Git 3 Principali caratteristiche di Git 4 Riga di comando e UI in Git 5 Come Installare Git 6 5 comandi Git per sviluppatori singoli 7 5 comandi Git per sviluppare collaborando 8 Repository in Git 9 Commit in Git 10 Working Copy in Git 11 Staging Area in Git 12 Branch in Git 13 Remote in Git 14 Inizializzare un nuovo repository con git init 15 Creare una copia di un repository remoto in Git con git clone 16 Configurare le opzioni di Git con git config 17 Il comando Git add in Git 18 Il comando Git commit in Git 19 Il comando Git diff in Git 20 Il comando Git stash in Git 21 .gitignore : i file ignored in Git 22 Il comando Git status in Git 23 il comando Git log in Git 24 Il comando Git tag in Git 25 Il comando Git blame in Git 26 Il comando Git checkout in Git 27 Il comando Git revert in Git 28 Il comando Git reset in Git 29 Il comando Git rm in Git 30 L'opzione Git commit –amend in Git 31 Git rebase –interactive in Git 32 Scorciatoie per comandi frequenti in Git 33 Repository condiviso in Git 34 Il modello Fork & pull 35 Il comando Git remote in Git 36 I principali repository remote di Git: Github, Gitlab e Bitbucket 37 Il comando Git fetch in Git 38 Il comando Git push in Git 39 Il comando Git pull in Git 40 Il comando Git branch in Git 41 Il comando Git checkout in Git 42 Il comando Git merge in Git 43 Risolvere un merge conflict in Git 44 Capire meglio il contenuto dei commit durante un conflitto di merge in Git 45 Workflow Git centralizzato 46 Workflow Git feature branching 47 Workflow Git trunk-based 48 Approccio “forking” in Git 49 Gitflow in Git 50 Messaggi di commit in Git 51 Tagging & Versioning in Git 52 L’opzione merge in Git 53 L’opzione rebase in Git
Scopri i corsi

Le nostre guide possono essere molto utili per muovere i primi passi nel mondo della programmazione, ma se vuoi iniziare una nuova carriera in ambito digital & tech con il supporto costante dei docenti e tantissime esercitazioni pratiche, ti consigliamo di frequentare uno dei corsi della nostra Hackademy!

Scopri i corsi