Git

  • 1
    Share

 

Salve a tutti! Oggi dedico questo articolo in particolare a coloro che per tempo libero o passione sviluppa programmi o applicazioni.

Vi pongo davanti lo scenario tipico:

  1. State programmando il vostro applicativo, e man mano che fate modifiche vi avvicinate sempre di più all’obiettivo finale del vostro programma.
  2. Il programma è finito e funzionante, quindi rilasciate la prima versione
  3. Vi accorgete che il programma ha una leggera falla e ha bisogno di una correzione
  4. Andate di corsa a correggere la falla dopo minuti se non ore di debug
  5. Correggete sperando che quello sia la causa della falla
  6. Riavviate il programma e va completamente in crash!!

A questo punto però avete già salvato il file e se non vi siete tenuti una copia del programma funzionante sarà difficile tornare indietro dopo tante modifiche. È proprio qui che viene in gioco Git.

Di più su Git

Git è un software di controllo versione, in parole povere, ci consente di creare una sorta di “linea temporale” per ogni file controllato da Git.
Mentre sviluppiamo quindi possiamo salvare il nostro file tranquillamente e solo quando siamo sicuri del corretto funzionamento possiamo inviare un commit con un messaggio personalizzato che ci aiuterà a riconoscere velocemente quali modifiche abbiamo fatto in quella sottomissione.
Qual’è lo scopo di tutto questo? Bè poter tracciare le modifiche a nostra scelta ci consente di tornare facilmente “indietro nel tempo” a una versione del codice in cui tutto funzionava, nell’eventuale caso in cui il nostro programma inizii ad avere malfunzionamenti e bug.

Ma non è finita qui! Non solo git vi consente di tracciare una linea temporale sui vostri file, ma vi consente anche di prendere l’intero progetto controllato da git e clonarlo in un’altra branch (dall’inglese diramazione), ovvero in un’altra linea di lavoro separata. Spesso queste branch vengono create per testare nuove funzionalità in modo parallelo alla traccia principale.

Come funziona

Di seguito vi dirò in breve l’utilizzo più comune di questo tool:

Apriamo il terminale

Per questa guida spiegherò la procedura per sistemi unix e linux, per chi usa windows consiglio di installare la bash di linux dallo store in modo tale da consentirvi di usare una shell di linux anche in ambiente windows:

Installiamo git

Per ubuntu digitate il seguente comando nel terminale:

sudo apt install git-all

Per debian:

sudo dnf install git-all

Per MacOS:

Per MacOS bisognerebbe installare Xcode ma installare 7Gb di IDE solo per git sarebbe uno spreco, chi non vuole installare Xcode può installare invece Github Desktop che è un’ottima GUI di cui parleremo in seguito per analizzare visivamente i cambiamenti nei nostri file.

Per Windows:

Cliccate su questo link: Git Windows

Se avete installato correttamente git e nella fase di installazione non avete avuto problemi, quello che vi resta da fare è digitare il seguente comando:

git init

Ora aprite il vostro editor preferito e cominciate a sviluppare il vostro progetto, niente di grande, solo un piccolo inizio per non lasciare i file inutilmente vuoti. Quando siete pronti ad usare git, aprite il terminale e spostatevi nella directory del progetto usando il comando cd.

Ora che avete inizializzato git per tracciare il vostro progetto, potreste usare la command line interface per eseguire tutti i comandi ma sarebbe molto scomodo e lento, soprattutto se avete delle scadenze per il progetto, perciò quello che vi consiglio di fare è scaricare Github Desktop o meglio ancora GitKraken.

Quest’ultimo lo considero migliore in quanto ci consente di vedere in modo molto chiaro l’andamento del progetto, mostrandoci tutte le branch e i commit su una linea temporale, dove i commit sono ordinati per data di sottomissione.

Entrambi vi consentono di sottomettere facilmente nuovi commit, di creare branch e switchare tra di esse, di fare merge di due branch e molto altro.
Nel prossimo articolo su git spiegherò meglio questi dettagli ma ora facciamo il nostro primo commit!

GitKraken

Aprite GitKraken e aprite il progetto che state tracciando con git, l’interfaccia è molto intuitiva, vi basta cliccare su File > Open Repo e selezionate la cartella del vostro progetto. GitKraken si accorgerà che il progetto è sotto git e se avete selezionato la cartella sbagliata vi avvertirà che git non è stato inizializzato, quindi in quel caso ricominciate e selezionate la cartella giusta.

Alla destra dell’interfaccia vedrete una lista di tutti i file che hanno subito dei cambiamenti dal momento che avete inizializzato il progetto, cliccate su Stage All per dire a git di inserire tutti i cambiamenti nel commit che state per eseguire, naturalmente se volete fare due commit separati potete selezionare a mano i file da inserire nel commit.
Ora che avete scelto i cambiamenti da registrare nel prossimo commit, potete inserire un breve messaggio esplicativo per capire al volo quali cambiamenti sono stati fatti in quel commit, ad esempio “corretto bug nel form di registrazione” oppure “ottimizzate le importazioni”, qualunque cosa che vi faccia capire che tipo di modifiche avete apportato al progetto.
Cliccate sul bottone di conferma in basso a destra ed ecco fatto, vedrete nella sezione centrale il primo vostro commit a forma di sfera sulla timeline che va dal basso verso l’alto. e se ci cliccate sopra gitkraken vi mostrerà tutte le modifiche apportate ai file che avete scelto di registrare.

Github Desktop

Cliccate su File > Add local repo per aggiungere il progetto su github desktop, dopodiche sulla parte sinistra dell’interfaccia ci saranno tutte le modifiche apportate ai file dal momento dell’inizializzazione.

Scegliete quali file inserire nel prossimo commit utilizzando le spunte a sinistra, inserite il messaggio di commit e confermate con il bottone in basso. Se andate nel tab  “History” in alto potrete vedere la timeline dei commit, ma a differenza di gitkraken non avrete l’interfaccia che vi mostra le branch

In conclusione

Man mano che modificate i file scegliete in modo intelligente quando creare un commit, non commitate ogni minimo cambiamento, fatelo solo quando vi trovate in una situazione in cui il vostro progetto è stabile e non ha troppi bug, sarà più facile per voi organizzare il lavoro ed eventualmente tornare “indietro nel tempo” se qualcosa dovesse creare una falla in tutto il progetto.

Nei prossimi articoli spiegherò anche alcune best practice per utilizzare git al meglio usando branch e merge per separare e organizzare il lavoro.
Se nel frattempo avete riscontrato difficoltà nel capire o installare git, o per qualsiasi altra domanda scriveteci nei commenti!
Spero di essere stato di aiuto, ci vediamo nel prossimo articolo!

 

SviluppoMania

 

Copyright © SviluppoMania. All rights reserved.

 

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

"GDPR" Richiesta di dati personali

Seleziona la tua richiesta: