Se avete fatto ricerche o sperimentato con la codifica per WordPress, potreste aver sentito parlare di git o GitHub. Questi strumenti possono essere molto utili per chi lavora nello sviluppo, ma determinare cosa fanno e le differenze tra di loro può creare confusione.

Fortunatamente, una volta che avete compreso le funzioni di git e GitHub, potete adoperarvi subito per snellire il vostro processo di sviluppo. È anche possibile integrare i due strumenti e usarli insieme.

In questo articolo descriveremo gli usi di git e GitHub. Spiegheremo anche chi possiede ogni piattaforma e discuteremo insieme come usarle per il controllo di versione e lo sviluppo collaborativo.

Cominciamo!

Preferite guardare la versione video?

Introduzione a git e al Controllo Versioni

Prima di tutto, diamo un’occhiata a git. Si tratta di un software di controllo di versione per sviluppatori:

homepage di git
homepage di git

Il controllo di versione si riferisce al processo di salvataggio di diversi file o “versioni” durante le varie fasi di un progetto (cercate anche: controllo di versione WordPress). Questo permette a chi sviluppa di tenere traccia di ciò che è stato fatto e di tornare a una fase precedente in caso si vogliano ripristinare alcune delle modifiche apportate.

Questo è utile per una serie di motivi. Ad esempio, rende più facile la risoluzione di errori e la correzione di altri problemi che potrebbero verificarsi durante lo sviluppo. È inoltre possibile annotare i cambiamenti in ogni versione, per aiutare i membri del team a rimanere aggiornati su ciò che è stato completato e ciò che deve ancora essere realizzato.

A differenza della maggior parte degli altri sistemi di controllo di versione (VCS), git memorizza ogni versione salvata come ‘istantanea’ invece di una lista di modifiche apportate a ogni file. È possibile fare riferimento a vecchie istantanee in ogni momento e nuove istantanee vengono create quando il progetto viene modificato.

Git permette anche di ‘spingere’ (push) e ‘tirare’ (pull) le modifiche da e verso le installazioni su altri computer. Questo lo rende un cosiddetto ‘Sistema di Controllo di Versione Distribuita’ (Distributed Version Control System), e permette a più sviluppatori di lavorare sullo stesso progetto.

Tuttavia, ci sono alcuni svantaggi nel gestire lo sviluppo in questo modo. Poiché il software locale è installato sulla vostra macchina individuale, git non può leggere le modifiche che altri sviluppatori potrebbero fare in tempo reale. Ciò significa che se voi e un’altra persona del vostro team state lavorando a un progetto contemporaneamente, non potrete vedere il suo lavoro.

Quindi, se non siete completamente sicuri di quando le persone del team lavoreranno al vostro progetto, meglio usare git per l’uso individuale. In questo modo è possibile evitare conflitti o che qualcun altro annulli accidentalmente il vostro codice.

La Differenza tra Git e GitHub

GitHub facilita la collaborazione con git. È una piattaforma che può contenere repository di codice in uno storage basato su cloud, in modo che più sviluppatori possano lavorare su un singolo progetto e vedere le modifiche degli altri in tempo reale:

Homepage di GitHub
Homepage di GitHub

Inoltre, include anche l’organizzazione e la gestione del progetto. Potete assegnare compiti a singoli o gruppi, impostare permessi e ruoli per i collaboratori, e usare la moderazione dei commenti per tenere tutti impegnati.

Inoltre, i repository GitHub sono aperti al pubblico. Chiunque lavori nello sviluppo, in qualsiasi parte del mondo si trovi, può interagire e contribuire al codice di altri per modificarlo o migliorarlo: questo viene chiamato social coding. In un certo senso, il social coding rende GitHub un sito di networking per i professionisti del web.

Ci sono tre azioni principali che si possono intraprendere quando si tratta di interagire con il codice di altri sviluppatori su GitHub:

  • Fork: Il processo di copia del codice altrui dal repository per modificarlo.
  • Pull: Quando avete finito di apportare modifiche al codice di qualcun altro, potete condividerle con il proprietario originale tramite una “richiesta pull”.
  • Merge: I proprietari possono aggiungere nuove modifiche ai loro progetti tramite una fusione (merge), e dare credito ai collaboratori che li hanno suggeriti.

Soprattutto per coloro che stanno cercando di costruirsi un solido curriculum nello sviluppo, questa può essere una grande opportunità per acquisire un po’ di esperienza. GitHub vi permette di condividere i progetti sul vostro profilo e mantenere una cronologia di tutti quelli a cui avete contribuito.

Per riassumere la differenza tra gitHub e gitHub:

  1. git è un software VCS locale che permette agli sviluppatori di salvare istantanee dei loro progetti nel tempo. In genere è meglio per l’uso individuale.
  2. GitHub è una piattaforma web che incorpora le funzionalità di controllo di versione di git e quindi può essere usata in modo collaborativo. Include anche funzioni di gestione di progetto e del team, oltre a opportunità di networking e di social coding.

Comprendere GitHub e GitLab

GitHub non è l’unico repository git che potreste considerare se state cercando di collaborare a un progetto di sviluppo. GitLab è un’altra piattaforma molto simile a cui vale la pena di dare un’occhiata:

Homepage GitLab
Homepage GitLab

Come GitHub, GitLab consente di memorizzare il codice e di usare le funzionalità di controllo di versione di git. Tuttavia, fornisce anche autorizzazioni utente più sfumate e include la Continuous Integration (CI). Questo elimina la necessità delle richieste di pull usate in GitHub.

Detto questo, GitLab non è ancora popolare come GitHub. Con 40 milioni di utenti, GitHub offre molte più opportunità per il networking, il social coding e persino per imparare da altri professionisti più esperti nel vostro campo.

In breve, entrambe le piattaforme sono utili, ma per situazioni leggermente diverse. Se non vi interessa lavorare con sviluppatori esterni al vostro team, GitLab può aiutarvi a velocizzare un po’ il vostro flusso di lavoro. Tuttavia, GitHub può essere la strada migliore per chi cerca di far crescere la propria carriera.

Proprietà e Costo di GitHub e GitHub

Dato che sono così strettamente correlati, avrebbe senso che git e GitHub fossero di proprietà della stessa società. Invece, git è un software open source, mentre GitHub è di proprietà di Microsoft.

Le piattaforme open source – tra cui git e WordPress – si possono usare, modificare e distribuire gratuitamente.

Il modello di pricing di GitHub è diverso, ma include comunque un interessante piano gratuito. Infatti, tutte le caratteristiche principali di GitHub sono gratuite per chiunque (in passato il piano Individual Pro costava 7 dollari al mese). Per i team, il prezzo parte da 4 dollari al mese per utente. Potete anche esaminare le opzioni di prezzo Enterprise per i gruppi più grandi che hanno bisogno di funzionalità più avanzate.

Come Integrare git e GitHub (in 5 Passi)

Per poter usare git e GitHub insieme per il controllo di versione e la collaborazione, ci sono alcuni passi da fare. Diamo un’occhiata a come funziona questo processo.

È importante notare che dovete usare git per poter sfruttare GitHub, quindi vorrete rispolverare le vostre abilità con il primo prima di cercare di integrare i due. Qui sotto abbiamo anche incluso alcune istruzioni di base per farvi iniziare.

Se state già usando git, potete passare al punto 2. D’altra parte, chi è nuovo a questo software di controllo di versione dovrà installarlo e aggiungere un po’ di codice prima di andare avanti.

Passo 1: Installare git e Aggiungere un Repository

Per prima cosa, scaricate il software git adatto al vostro sistema operativo (OS):

Scaricare git
Scaricare git

Sarà quindi necessario eseguire il programma di installazione. Questo processo varia a seconda del sistema operativo che state utilizzando. Poi potete impostare git usando la vostra interfaccia per la riga di comando.

Una volta che sarà operativo, ci sono alcuni termini che conviene conoscere per iniziare a usare il software:

  • Repository: La posizione del file in cui è memorizzato il progetto.
  • Commit: Il comando usato per salvare le nuove modifiche al progetto nel repository.
  • Stage: Prima di fare un commit delle modifiche in git, è necessario metterli in stage: questo vi dà la possibilità di preparare il vostro codice prima di aggiungerlo formalmente al vostro progetto.
  • Branch: La parte del vostro progetto che state sviluppando attivamente.

Per collegare git a GitHub, dovrete aggiungere un repository e fare almeno un commit. Il vostro progetto sarà quindi a buon punto per iniziare a lavorare in GitHub.

Passo 2: Creare un Account GitHub

Successivamente, avrete bisogno di un account GitHub. Potete iscrivervi gratuitamente o investire in un piano a pagamento:

prezzi dei github
Opzioni di prezzo per un account GitHub

Un account gratuito funziona bene per i nuovi sviluppatori che cercano di affinare le loro competenze. Un piano Pro è più adatto a freelancer e professionisti avanzati, mentre alle agenzie converrà investire in un piano Team per accedere a più strumenti di gestione del progetto e di comunicazione.

Inoltre, GitHub offre sconti a organizzazioni no-profit, educatori e studenti.

Passo 3: Aggiungere un Repository GitHub al Vostro Account

Dopo aver creato e impostato il vostro account, dovrete creare un repository in GitHub dove potrete archiviare il vostro progetto quando lo sposterete da git. Potete farlo cliccando sul relativo link nella barra laterale sinistra:

Il link per creare un repository in GitHub
Il link per creare un repository in GitHub

Poi, dovrete scegliere un nome per il vostro repository:

Dare un nome al nuovo repository GitHub
Dare un nome al nuovo repository GitHub

Potete anche decidere se volete che il repository sia pubblico, in modo che altri utenti di GitHub possano trovarlo e contribuirvi, o se volete tenerlo privato.

In ogni caso, dato che userete un progetto esistente, assicuratevi di lasciare deselezionata la casella Initialize this repository with a README.

Passo 4: Push di un Repository su GitHub

Successivamente, avrete la possibilità di aggiungere codice al vostro repository in diversi modi.

Dato che avete già configurato il vostro repository git, potete optare per il push di un repository esistente dalla riga di comando:

Push di un repository esistente dalla riga di comando
Push di un repository esistente dalla riga di comando

L’icona della cartellina sulla destra consente di copiare i comandi qui elencati, in modo da poterli incollare rapidamente nell’interfaccia della vostra riga di comando preferita per creare il repository di GitHub.

Una volta fatto questo, aggiornate la vostra pagina di GitHub:

repository GitHub
Un nuovo repository GitHub elencato nella pagina dell’account dell’utente

Ora dovreste essere in grado di vedere il vostro repository in GitHub. Da lì, potete iniziare ad apportare modifiche al vostro progetto online.

È anche possibile inviare e unire le richieste di pull e usare qualsiasi altro strumento incluso nel vostro piano.

Passo 5: Riportare le Modifiche su git

Mentre potete vedere tutte le modifiche che voi e altri hanno apportato al vostro progetto su GitHub, la piattaforma non ha accesso diretto ai file del vostro computer. Per mantenere il vostro progetto aggiornato sul vostro computer, è necessario che le modifiche vengano effettuate tramite git.

Per farlo, è sufficiente inserire il git pull origin master nella vostra interfaccia della riga di comando. Questo dovrebbe aggiornare i vostri file in modo che tutto sia sincronizzato in tutte le iterazioni del vostro progetto.

Riepilogo

Anche se capire la differenza tra gitHub e gitHub può essere un po’ complicato all’inizio, una volta comprese le basi vedrete come entrambe le piattaforme sono preziose per lo sviluppo.

Per integrare git e GitHub, dovete seguire questi passi:

  1. Installare git, aggiungere un repository e creare un commit.
  2. Creare un account GitHub.
  3. Aggiungere un repository GitHub al vostro account.
  4. Eseguire il push di un commit con GitHub.
  5. Riportare le modifiche su git.

Se lavorate con un team per costruire un sito web, il controllo di versione e la condivisione possono essere di vitale importanza.