GIT - 1 - Introduzione: add, commit, push, pull

git

Salve a tutti,
oggi introduciamo le basi di GIT, un sistema di versionamento che permette di mantenere una cronologia pulita delle modifiche dei nostri progetti e di lavorare in team sullo stesso progetto diversificando gli sforzi.
Siccome sono tante le cose da dire faremo più tutorial sull'argomento. In questa guida vediamo i primi comandi utili per cominciare ad utilizzare GIT.

Prima di tutto occorre installare GIT nei nostri computer: per ubuntu basterà aprire il terminale e lanciare il comando

sudo apt-get install git

mentre per windows basta andare su https://git-scm.com/download/win, scaricare l'exe e lanciare l'installazione guidata. Windows installerà anche una git bash ovvero un terminale fatto a posta per GIT. I comandi che vediamo successivamente si possono lanciare da questa bash.

Una volta installato tutto, va scelta la piattaforma su cui appoggiarsi. Le piattaforme sono diverse ma la più famosa rimane github.
Andiamo quindi su github, creiamoci un account e accediamo. Per creare una nuova repository (un nuovo progetto), clicchiamo sul + in alto a destra e poi su "New repository".
Riempiamo il form con il nome della repository, una descrizione del progetto, teniamo selezionato Public (per il Private bisogna provare ma per imparare va bene Public) e spuntiamo l'opzione del file di README. Infine andiamo avanti cliccando Create repository.

Create a New Repository

A questo punto siamo sulla pagina della repository al cui interno vediamo che c'è il solo file README.md (grazie alla spunta che abbiamo messo al passo precedente) nel quale si descrive il progetto con note sull'installazione, documentazione ecc.

pagina progetto

Prima di procedere configuriamo tre cosette al volo da terminale:

git config --global user.email "la-propria-email"  #può essere anche quella di un altro account github 
git config --global user.name "nome-utente" #nome vostro identicativo
git config --global push.default simple

Passiamo ora alla parte interessante. Per scaricare la repository localmente, andiamo sulla pagina della repository e, account al pulsante "Download ZIP" vediamo un URL: copiamolo.
Apriamo il terminale, posizioniamoci nella cartella in cui vogliamo scaricare la cartella e poi digitiamo

git clone <url>

dove è l'URL che abbiamo copiato. Vi chiederà username e password, voi inserite quelli di github. Una volta finita l'operazione, nella direcotry, vi ritroverete una cartella con il nome della repository al cui interno c'è il file README.md.

ADD, COMMIT e PUSH

Vediamo ora come si fa ad aggiornare la repository online.
Facciamo una prova creando un file nella cartella del progetto: index.html e al suo interno scriviamo un semplice

<html>
     <body>
        <p>hello world!</p>
     </body>
</html>

Così facendo, abbiamo appena reso inconsistente la versione locale con quella online su github.
Per aggiornare la versione online si fanno tre operazioni: add, commit e push.
Per verificare lo stato di git, da terminale facciamo

git status

Questo comando è molto utile perché fa capire in che stato sono i vari file della repository.
Se avete aggiunto il file index.html, il risultato sarà il seguente

git status ci sta dicendo che i file nella nostra repository che sono anche online (nel nostro caso solo README.md), sono aggiornati ("Your branch is up-to-date with 'origin/master'."). Tuttavia ci dice che c'è un file non tracciato: il nostro index.html.
Per poterlo aggiungere (add) lanciamo

git add index.html

Se rilanciamo git status avremo quindi

Ciò vuol dire che il file è stato aggiunto ma ancora non "committato": siamo ancora in una fase transitoria. L'operazione di commit è possibile pensarla come ad una istantanea che viene fatta al progetto a cui poi possiamo tornare in caso volessimo fare un roll back.
Nel caso avessimo più file da aggiungere, per aggiungerli tutti insieme, possiamo fare:

git add -A

oppure

git add .

oppure

git add *

Si possono aggiungere anche file di un certo formato come ad esempio:

git add *.html 

Per fare un commit basterà lanciare

git commit -m "messaggio identificativo del commit"

vediamo che dopo -m va inserito un messaggio che identifichi il commit in modo tale da capire qual è stata l'ultima modifica apportata ai file che stiamo caricando. Nel mio esempio metto "primo commit".

C'è anche un modo per fare add e commit in un colpo solo. Questo è il comando:

git commit -a -m "messaggio identificativo del commit"

Con il commit, siamo pronti per mandare tutto online e lo facciamo con push.

git push

Vi chiederà lo username e la password dell'account su cui si va a fare il push.
Se adesso torniamo sulla pagina della repository su github, vedremo che è stato aggiunto il nuovo file index.html e che accanto apparirà la dicitura "primo commit".

git commit

PULL

Il comando pull serve per aggiornare la propria repository locale con quella online.
Andiamo sulla pagina del progetto su github, clicchiamo sul nostro file index.html e tramite il simbolo della matita (modifica), aggiungendo un tag p.
Da così

<html>
     <body>
        <p>hello world!</p>
     </body>
</html>

a così

<html>
     <body>
        <p>hello world!</p>
        <p>how are you lads?</p>
     </body>
</html>

Prima di fare cliccare "Commit changes", ricordiamo di scrivere il messaggio del commit nell'apposita text box.
Una volta salvate le modifiche, torniamo sul nostro terminale, ci posizioniamo come al solito sulla nostra cartella del progetto con il comando cd e poi scriviamo scriviamo il comando:

git pull

Se tutto va bene, vi si aprirà un file di testo da terminale. Può essere tramite Vim o tramite nano. Nel primo caso si esce dall'editor digitando :wq e poi invio mentre su nano si va di Ctrl+X.
Uscendo dall'editor il messaggio sul terminale sarà il seguente

Questo messaggio ci sta dicendo semplicemente che è stata aggiunta una riga (ultime due righe).

.
.
Per oggi è tutto, prossimamente vedremo come ripristinare stati precedenti del nostro progetto.
A presto!

Ingegnere Informatico e Ricercatore se compiace al Prodigioso Spaghetto Volante. Sono uno spartan racer, massimo esperto di serie tv, fotografo amatoriale e appena ne ho l’occasione preparo la valigia e parto

GIT - 1 - Introduzione: add, commit, push, pull ultima modifica: 2016-05-03T11:04:23+01:00 da Andrea Salvi


Advertisment ad adsense adlogger