git-logo

Git: i comandi base da conoscere

Git è un sistema di controllo di versione (version control system in inglese) sviluppato da Linus Torvalds, il creatore di Linux. In questo articolo vedremo quali sono i comandi base da conoscere per poter utilizzare questo potente strumento.

Le basi di git

Git è basato su dei repository, che non sono altro che delle cartelle dove salvare i propri file (semplificando), che sono contenuti in una cartella chiamata .git che contiene, ad esempio, tutto lo storico delle modifiche effettuate ai file sorgenti oltre ad altri metadati. Git traccia una cartella, chiamata cartella di lavoro (o working directory), che è la cartella in cui effettivamente vengono salvati i vari file che si vogliono usare in un progetto. Cambiamenti effettuati nella cartella di lavoro, o nelle varie sottocartelle, devono essere per prima cosa organizzati in qualche modo prima di poter essere salvati e caricati (committed) nel repository.

Le caratteristiche principali di questo software è che permette il ritorno a versioni precedenti di un file in base al commit, in pratica ogni qualvolta che una nuova modifica viene salvata e caricata nel repo, git crea un tag di riconoscimento (formato da delle cifre) che permette di riconoscere univocamente i cambiamenti fatti, rendendo quindi possibile il ripristino dei file in qualsiasi momento. Tuttavia, in questo articolo ci concentreremo più sui comandi base, queste funzionalità sono più avanzate e possono comportano alcune complicazioni in alcuni casi, per cui non sono adatte per chi è alle prime armi.

Creare e mantenere un repository Git

Per prima cosa, è necessario installare git. Per installarlo su Arch Linux e derivate, basta digitare da terminale:

sudo pacman -Sy git

se non già presente nel sistema, per le altre distribuzioni, il comando sarà simile, cambierà solamente il package manager (al posto di pacman potreste avere apt per intenderci).

Una volta installato git, siamo pronti per creare il nostro primo repo in locale. Tuttavia non è consigliabile lavorare solamente in locale, soprattutto perché nei casi reali, la cartella con tutti i file sorgenti non si troverà caricata su una macchina locale privata, ma molto probabilmente su un sito dedicato che si occupa di gestire repo mediante git. Un esempio di questi siti sono GitLab, BitBucket e GitHub. Quello che vi consiglio è di crearvi un account su uno di questi tre siti (io preferisco GitLab, però uno qualsiasi dei tre va benissimo) e di usarlo per caricare magari progetti personali (GitLab vi dà accesso a repo privati) per allenarvi con git. Detto questo, ora siamo veramente pronti a cominciare.

Inizializzare un nuovo repo oppure clonarne uno?

A questo punto, abbiamo due alternative davanti a noi: la prima è quella di inizializzare un nuovo repo localmente per poi caricarlo su GitLab (o altro) in un secondo momento, oppure clonare un repo già esistente (anche vuoto). Ci concentreremo su questa seconda opzione.

Per prima cosa va creato un nuovo repository dalla pagina dedicata su GitLab (o simile), dandogli un nome e eventualmente settando le impostazioni di riservatezza più consone. Una volta fatto questo, si può procedere alla clonazione eseguendo il comando:

git clone [email protected]:nomeutente/ilmioprimorepogit.git

che sostanzialmente provvederà a creare una nuova cartella chiamata ilmioprimorepogit in locale, nella cartella corrente del terminale, e a inizializzare tutto il necessario per il corretto funzionamento. Generalmente i siti creano di default anche un file README.md che contiene alcune informazioni di base sull’utilizzo del sito, quindi nella cartella che git ha appena creato potreste trovarlo come file. I file Readme sono molto utili per chi non conosce il vostro progetto e vuole farsi un’idea generale di cosa troverà nel repo, è quindi una buona pratica quella di scrivere un file README che contenga informazioni sul vostro progetto. Ad esempio, provate ad aprire questo link alla pagina GitLab di Fdroid (client per android alternativo al Play Store e che contiene solo applicazioni open source) per farvi un’idea migliore.

Primo commit e primo push

Bene, proviamo allora a modificare (o creare se non esiste ancora) il file README. Potete usare qualsiasi editor di testo preferiate, che sia testuale o grafico. Una volta modificato il file e salvato le modifiche torniamo al terminale dentro un punto qualsiasi della cartella dove abbiamo clonato il nostro repo. Eseguendo il comando

git status

possiamo vedere una panoramica generale dei nostri file locali, ad esempio possiamo vedere per quali file non sono state ancora caricate le modifiche sul server.

Il passo successivo è quello di aggiungere i file modificati al nuovo commit, per fare questo ci sono due alternative:

  1. aggiungiamo manualmente tutti i file che vogliamo committare
  2. aggiungiamo tutti i file modificati (o nuovi) indistintamente

Generalmente l’opzione migliore è la numero 1 in quanto permette di scegliere esattamente quali file vogliamo caricare, tuttavia per lo scopo di questo articolo entrambi gli approcci vanno bene. Il comando da eseguire è allora

git add nomefile

o alternativamente

git add --all

Il prossimo passo è quello di scrivere un breve messaggio nel quale descrivere le principali modifiche apportate ai file caricati, con commenti che possano essere utili per chi vuole tentare di capire che modifiche avete effettuato. Per fare questo ci sono diversi modi, il metodo più veloce (e che io uso di più in assoluto) è di digitare il seguente comando

git commit -m "Modificato il file README aggiungengo informazioni sul progetto"

Siamo ora pronti a caricare tutti i file sul server online (o locale, scrivendo finalmente le modifiche), basta digitare

git push

La password e/o nome utente di accesso al repo online potrebbe venir richiesta in questa fase, la si può anche salvare localmente a livello globale o di repo specifico, tuttavia per il comando specifico vi rimando alla documentazione ufficiale di git.

Una volta inviato il comando, provate ad aprire la scheda commits del sito in cui avete creato il repo, dovreste vedere il vostro commit con il messaggio che avete inserito: complimenti ora avete le basi per lavorare con git!

Ok, e adesso?

I comandi base che ho presentato in questo articolo sono praticamente quasi tutto che serve per poter lavorare con git, nel caso in cui si lavora da soli o su progetti di piccole dimensioni. Una volta imparate bene le basi, non resta che approfondire il concetto di branch, la caratteristica più potente (probabilmente) di git e che permette a più sviluppatori di lavorare contemporaneamente a diverse versioni dello stesso software. Fate pratica con le basi e poi espandete da lì in poi la vostra conoscenza

Conclusioni

Il sito ufficiale di git ha un’ottima documentazione su tutti i comandi e su come usarlo efficacemente, trovate le basi a questo indirizzo.

Anche la wiki di Arch Linux ha una pagina dedicata a git, la potete trovare a questo indirizzo.

Per concludere, git è uno strumento veramente potente che permette agli sviluppatori un controllo totale delle versioni del proprio software e uno strumento grazie al quale è possibile lavorare in gruppi alla realizzazione di una stessa applicazione, tuttavia rimane semplice da usare con un po’ di pratica e di lettura di documentazione.

Published by

Chaosphere

Appassionato di Linux dal 2010, scrivo quando ho del tempo libero a disposizione e lo faccio per passione e per diletto personale.

HTML Snippets Powered By : XYZScripts.com