Appunti

Lavoro

15/10/2021

Roberto Piva

GitHub Tutorial

Comprensione del flusso

Github è una piattaforma di archiviazione e collaborazione di codice Subversion.

Ci permette di lavorare assieme ad altri sviluppatori su diversi progetti, direttamente online!

Non è necessario saper programmare

1. Creare un repository

Un repository di solito è usato per organizzare un progetto.

I repository possono contenere cartelle, file, immagini, video, fogli di calcolo e ogni cosa che sia necessaria per il tuo progetto.

Buona norma è quella di includere sempre un README o un file con informazioni sul progetto.

Per creare un nuovo repository:

  • In alto a destra, dopo aver fatto il login, fai click sul + e poi seleziona New Repository.
  • Chiama il tuo repository hello-world.
  • Scrivi una breve descrizione.
  • Seleziona “Initialize this repository with a README”

2. Creare un branch

Creare un branch è il metodo intelligente di lavorare su più versioni di un progetto alla volta.

 

Per impostazione predefinita, il tuo repository ha un branch chiamato master che è considerato il branch principale. Usiamo i branch paralleli per sperimentare e modificare prima di inserirle nel branch master.

 

Quando generi un nuovo branch rispetto al master, lo stai copiando così com'è in quel momento. Se qualcun’altro fa una modifica al master mentre tu stai lavorando sul tuo branch, hai la possibilità di aquisire i suoi aggiornamenti.

2. Creare un branch

Questo diagramma mostra:

  • Il branch master

  • Un nuovo branch chiamato feature

  • Il percorso che feature deve fare prima che venga combinato con il master

2. Creare un branch

Ti è mai capitato di dover salvare diverse versioni di un file?

  1. storia.txt
  2. storia-modificata.txt
  3. storia-modificata-rivista.txt

I branch facilitano questo processo grazie ai repository disponibili su GitHub

2. Creare un branch

Per creare un nuovo branch:

  1. Vai nel tuo nuovo repository hello-world
     
  2. Fai click sul menu in altro sopra la lista dei file dove trovi la dicitura: main
     
  3. Scrivi un nome del branch, per esempio “readme-edits”, nella casella di testo.
     
  4. Seleziona il box Create o premi Enter sulla tastiera

3. Crea e committa modifiche

Su Github, le modifiche salvate sono chiamate commit.

 

Ogni commit ha un messaggio associato, che in pratica è una descrizione che spiega perchè una particolare modifica è stata fatta.

 

I messaggi di commit tengono traccia dello storico delle modifiche eseguite, cosi gli altri utenti o collaboratori possono capire cosa hai fatto è perchè.

3. Crea e committa modifiche

Creare e committare modifiche:

  1. Fai click sul file README.md
     
  2. Fai click sull’icona della matita in alto a destra della vista dei file per fare una modifica
     
  3. Nell’editor scrivi il tuo nome: è utile per gli altri utenti sapere chi ha modificato il codice
     
  4. Scrivi un messaggio che descriva la tua modifica
     
  5. Fai click sul pulsante Commit changes per applicarle

3. Crea e committa modifiche

Queste modifiche (relative a questo esempio) saranno salvate nel file README solamente nel branch readme-edits: ora questo branch contiene valori differenti rispetto al branch master.

4. Aprire una Pull Request

Ora che hai modificato un file in un branch, potrai aprire una pull request.

Le pull request sono il cuore della collaborazione con Github.

 

Quando apri una pull request, proponi le tue modifiche e richiedi che qualcuno le revisioni e le  fonda nel suo branch.

 

Le pull requests mostrano le differenze dei contenuti di entrambi i branch. Le modifiche, aggiunte e le cancellazioni verranno mostrate in verde o in rosso a seconda dei casi.

4. Aprire una Pull Request

Puoi anche aprire pull request nel tuo repository e mergiarle (fonderle) da solo. E’ un buon metodo per imparare il flusso di gestione prima di lavorare su progetti complessi

5. Fondere una Pull Request

In questo step finale, è giunta l'ora di apportare le tue modifiche incorporandole dal tuo branch readme-edits verso il branch di produzione master:

  1. Fai click sul pulsante verde Merge pull request per fondere le modifiche sul branch master
     
  2. Fai click su Confirm merge
     
  3. Procedi e cancella il branch, dato che le tue modifiche sono state incorporate, con il pulsante “Delete branch” (di color viola) se lo desideri.

6. Fork: come contribuire ad un progetto pubblico presente su GitHub

Per contribuire ad un progetto si parte sempre da una semplice regola: leggere in modo approfondito il README file del progetto al quale si vuole contribuire! Se non esiste, contattare lo sviluppatore del progetto.

6.a Forkare una copia del progetto

Come prima cosa è necessario creare una copia del progetto (e quindi del repository) sul proprio account Github.
 

Per farlo è sufficiente accedere alla pagina Github del progetto al quale si desidera contribuire e cliccare sul bottone fork.
Una volta copiato, vedremo il nuovo progetto nel nostro repository, con sotto indicato il progetto originale (forkato).
 

Adesso sarà necessario creare una copia locale sul computer, clonando dal progetto appena forkato sul nostro computer.

6.b Forkare una copia del progetto

Sarà necessario aggiungere un nuovo riferimento ad un repository remoto (che viene denominato remote da Git), in modo da puntare al progetto originale, così da poter ricevere eventuali cambiamenti fatti dallo sviluppatore e trasferirli sul nostro repository automaticamente.

Per sincronizzare basterà cliccare su Fetch upstream ed in seguito su bottone Fetch and merge per attivare il processo:

6.b Forkare una copia del progetto

6.c Fork for Fun! E' tempo di contribuire!

Lavorare con i Branch

La prima regola è che ogni parte di lavoro ha il suo branch!
Se il progetto segue il flusso, saranno presenti sia il branch master che quelli secoondari.

In caso di bugs si creerà il branch partendo dal master: nel caso sia presente solo master si creerà partendo da master stesso.

7. Evviva!

Completando questo breve tutorial, hai imparato i comandi base per poter contribiure in progetto presenti su Github!

 

A cosa ti servirà tutto questo?

  • Creare un repository opensource
  • Iniziare e gestire un nuovo branch
  • Modificare un file e committare le modifiche su Github
  • Aprire e Mergiare una Pull Request
  • Creare un Fork per modificare un progetto pubblico

Guida a GitHub

By Roberto Piva

Guida a GitHub

  • 361