Comandi base per utilizzare GIT come repository locale
GIT è un software per il versionamento del testo che è diventando lo standard de-facto nel mondo dello sviluppo software.
Le caratteristiche che differenziano GIT rispetto ai software concorrenti sono:
- facilità di utilizzo
- efficienza
- robustezza
- software distribuito
GIT è un software di versionamento distribuito che consente di versionare codice non avendo come riferimento un unico server master ma consentendo un versionamento su ogni repository di cui si vuole far uso. Questa caratteristica consente di utilizzare GIT sul proprio PC come un repository completo e successivamente metterlo in relazione con altri repository per consentire la sincronizzazione del codice sorgente.
In questo articolo sono analizzate le caratteristiche di GIT come repository locale. L'articolo descrive quali sono i comandi da utilizzare per versionare il codice sorgente.
Inizializzare un repository locale
Per inizializzare un repository GIT locale su una cartella, spostarsi all'interno della cartella
cd nome_cartella
ed eseguire il comando:
git init
Il comando crea all'interno della cartella una cartella nascosta
.git
che è utilizzata dal repository per lavorare. Per visualizzare la
cartella nascosta eseguire il seguente comando:
ls -la
Aree di lavoro del repository locale
Prima di analizzare nel dettaglio i comandi per versionare il codice sorgente, occorre precisare la modalità di lavoro di GIT, per comprendere al meglio come il software di versionamento monitora i file di cui è a conoscenza.
Un repository GIT locale si articola nelle seguenti tre aree:
- Unstaged Area
- Staged Area
- Commit Area
Unstaged Area
L'area denominata unstaged area contiene tutti i file presenti sul file system che non sono stati supervisionati da GIT. Ogni nuovo file creato all'interno di un progetto transita inizialmente all'interno di questa area.
Staged Area
L'area denominata staged area mantiene tutti i file, di cui si hanno delle
modifiche rispetto ad una ultima versione presente sul repository, dei quali si
vuole eseguire un versionamento al prossimo commit
.
In questa area manteniamo le modifiche candidate al prossimo commit
.
Parlo di modifiche specifiche e non di interi file poiché due modifiche presenti
su un file potrebbero risiedere su aree diverse (una sulla unstaged
ed una sulla
staged
).
Commit area
La commit area presenta tutti i commit
eseguiti all'interno del
repository. Un commit è l'azione atomica che consente di versionare il sorgente
all'interno del repository.
Comandi per il passaggio tra le diverse aree di lavoro
Un file, nel suo ciclo di vita, transita nelle aree descritte nel precedente paragrafo. In questo paragrafo affrontiamo il tema di come eseguire il passaggio dei file da un'area all'altra, utilizzando la riga di comando. Occorre precisare che questi passaggi possono essere eseguiti, utilizzando qualsiasi editor testuale che abbia una qualche integrazione con GIT, in modalità grafica.
Passaggio da unstaged
a staged
area
Per passare un file creato sul file system dall'area unstaged all'area staged eseguire il seguente comando:
git add nome_file
Il comando add
consente di aggiungere le modifiche presenti nell'area
di unstaged all'interno dell'area staged.
Passaggio da staged
a unstaged
area
Per eseguire il passaggio inverso, quindi dalla staged alla unstaged area eseguire il comando:
git rm --cached nome_file
L'ultimo comando riposta il file nome_file
allo stato di partenza.
Passaggio da staged
a commit
area
Il passaggio tra la staged e la commit area avviene utilizzando il
comando commit
. Un commit rappresenta un'unità atomica di
memorizzazione che racchiude in se una modifica concettualizzabile. Ogni commit
deve necessariamente essere accompagnato da un commento che descrive la volontà
dello sviluppatore nell'apportare le modifiche che si vogliono registrare.
Per eseguire un commit, lanciare il seguente comando:
git commit -m "Commento del commit"
Il comando sposterà i file presenti nella staged area all'interno dell'area di commit. Il comando consente di memorizzare le modifiche all'interno del repository creando un nuovo stato finale dei file aggiunti con il commit.
Passaggio da commit
a staged
area
Per ripristinare la situazione iniziale prima del commit e quindi portare i file dalla commit alla staged area, eseguire il seguente comando:
git reset --soft HEAD^1
Conclusioni e Riferimenti
Gli esempi mostrano i comandi essenziali per utilizzare GIT come repository locale.