Git, Part III, Utils

Git

Nel precedente articolo (https://www.sviluppomania.com/it/git-seconda-parte/) abbiamo visto come creare delle branch. Sapete come fare dei commit è vero, ma queste due operazioni non bastano. Git fornisce molti altri comandi utili che cercherò di raggruppare in questo articolo in caso di necessità

 

Gitignore

 

Spesso durante lo sviluppo ci capita di aver tracciato un file con git di cui in realtà non ci interessano le modifiche. Oppure anche se non lo abbiamo aggiunto, ogni volta che dobbiamo fare un commit ci risulta un file non tracciato da aggiungere ai file del commit, ma che noi non vogliamo.

 

A questo problema  ci viene incontro il file “.gitignore” (il punto iniziale è fondamentale, e per chi non lo sapesse, comunica al file system di essere un file nascosto).
Questo file deve stare nella radice del progetto (la stessa cartella in cui abbiamo eseguito “git init”), e all’interno del file possiamo inserire una lista di filename, separata da ritorno a capo, da ignorare nel traking

 

Quindi se ad esempio volessimo ignorare 3 file chiamati file1, file2 e file3
creiamo il nostro .gitignore e scriviamoci dentro:

 

file1
file2
file3

 

Inoltre .gitignore supporta espressioni regolari, quindi se vogliamo ignorare tutti i file con estensione .txt ci basta scrivere

 

*.txt

 

l’asterisco è un metacarattere che, usato cosi, fa match con qualsiasi cosa, e il fatto che è seguita da .txt implica che qualsiasi nome di file che finisca con quell’estensione verrà ignorato.

 

Se abbiamo una lista di file che rispettano un pattern test_Y.txt dove Y è un numero e vogliamo ignorarli tutti, ci basta aggiungere questa riga

 

^test_([0-9]+)\.txt$

 

al file .gitignore. Se conoscete le espressioni regolari sarà molto facile ignorare file con pattern complessi.

 

Aggiungi/Rimuovi file

Durante lo sviluppo del vostro software, accadrà sicuramente di dover aggiungere nuovi file al progetto o di dover rimuovere di obsoleti. Per poter eseguire queste operazioni, è sufficiente utilizzare i comandi add e remove.

In particolare, se vogliamo aggiungere uno o più file, al nostro repository, utilizzeremo questo comando:

git add nome_del_nostro_file.txt

Mentre per rimuovere un file utilizzeremo:

git remove nome_del_nostro_file.txt

Entrambi i comandi permetto di utilizzare sintassi generiche come ad esempio:

git add *
git remove *.txt

 

Cambia branch

Nel precendente articolo abbiamo visto che è possibile mantenere più versioni del nostro codice attraverso il meccanismo delle branch. E’ ovviamente possibile muoversi tra le differenti branch con un comando specifico: checkout.

git checkout nome_della_branch

Questo comando ci permetterà di passare da una branch all’altra. Il comando checkout tuttavia può fare molto di più, come ad esempio creare una nuova branch o effettuarne un reset.

git checkout -b nome_della_branch

git checkout -B nome_della_branch

Il primo comando, con “b” minuscolo come paramentro, creerà una nuova branch, mentre il secondo (“B” maiuscolo) ne creerà una nuova solamente se la branch non esiste, altrimenti eseguirà un reset della branch.

 

Checkout past commit

E’ però possibile usare il comando di checkout anche per creare delle branch temporanee sul quale fare esperimenti: è il caso del parametro “detach”.

git checkout --detach nome_della_branch nome_del_commit

Questo comando staccherà il commit dalla branch per poter eseguire delle modifiche che possiamo utilizzare a fini di test. Se omettiamo il nome della branch, il comando agirà sulla branch corrente.

Adesso che siamo in grado di separare i flussi di lavoro sul nostro codice, non ci resta che vedere come riunificare i rami (branch) che abbiamo creato per poter collaborare con i nostri colleghi o per effettuare test e modifiche importanti.

Il prossimo capitolo sarà dedicato proprio a questo argomento: merge.

 

SviluppoMania - Francesco Candurro

Related Posts

This site uses Akismet to reduce spam. Learn how your comment data is processed.