Guide

2. Github, come gestire i branch

Cosa sono i Branch?

rami (detti branch) vengono utilizzati in GitHub per l’implementazione di funzionalità tra loro isolate, cioè sviluppate in modo indipendente l’una dall’altra ma a partire dalla medesima radice. Strutturalmente il ramo predefinito (ovvero quello di partenza) di un progetto è il Main e che viene generato quando si crea un repository, come visto nel precedente articolo; sarà poi possibile creare nuovi rami dedicati a funzionalità differenti per poi, al termine dell’implementazione inserirle nel Main, tramite procedure di merging che vedremo di seguito.

Come utilizzare i branch su GitHub Desktop

Creazione Nuovo Branch

Apriamo l’applicazione GitHub e nella barra in alto selezioniamo la voce New Branch

github-come-gestire-i-branch

Inseriamo il nome del nuovo Branch e confermiamo

github-come-gestire-i-branch-2

Una volta creato in locale dobbiamo condividere la modifica con il cloud di GitHub, basterà cliccare su Publish Branch

github-come-gestire-i-branch-3

Commit sul nuovo Branch

Andiamo ad aggiungere un nuovo file (Test_NewBranch02.json) nel nostro repository e lanciamo la commit sul nuovo branch, selezioniamo il Branch02_Test nella barra in alto, inseriamo titolo e descrizione della commit e procediamo

github-come-gestire-i-branch-5

Come abbiamo visto per il Main anche nel Branch dobbiamo mandare le modifiche sul cloud github cliccando su Push Origin

github-come-gestire-i-branch-6

Effettuare il merge tra Main e Branch

Github mette a disposizione 3 scelte differenti per il merge tra Main e Branch, vediamo nel dettaglio le differenze:

  • Merge commit: conserverà la cronologia di tutti i commit del Branch e li sposterà nel ramo principale, aggiungerà un commit fittizio extra.
  • Rebase and Merge: accoda la cronologia di tutti i commit del branch nella parte anteriore del Main, NON aggiungerà un commit fittizio extra.
  • Squash and Merge: raggrupperà tutti i commit del branch in un commit e lo aggiungerà nella parte anteriore del ramo Main, aggiungerà un commit fittizio extra.

Il tutto risulterà più facile da capire con questi schemi:

github-come-gestire-i-branch-7

Vediamo ora cosa succede nei 3 casi differenti appena elencati:

github-come-gestire-i-branch-8

Una volta chiarite le tipologie di merge andiamo ad eseguire il classico Merge Commit, clicchiamo su Create Pull Request

github-come-gestire-i-branch-9

Veniamo ora rediretti sul sito di GitHub, inseriamo i commenti da storicizzare e confermiamo di voler creare una Pull Request

github-come-gestire-i-branch-10

Selezioniamo il tipo di merge, nel nostro caso “Merge Commit”

github-come-gestire-i-branch-11
github-come-gestire-i-branch

Al termine della procedura guidata vi apparirà la conferma della buona riuscita dell’operazione come nell’immagine qui sopra postata.