Come ignorare alcuni file in git

di Lorenzo Neri

Ti stai chiedendo come ignorare alcuni file in git ed evitare che vengano messi nella storia del tuo repository? Te lo spiego in questo articolo!

In diversi progetti software, gestiti tramite GIT, possono esserci file che non devono finire all’interno della storia del repository stesso.

Le motivazioni possono essere le più disparate: sono pesanti, sono file di configurazione legati al sistema operativo, sono pesanti, non servono ai fini pratici del progetto.

Ma le motivazioni per tenerli all’interno della cartella di lavoro in locale possono essere le più disparate: ti servono per la configurazione del tuo ambiente di sviluppo, perchè il tuo sistema operativo ne ha bisogno altrimenti non puoi eseguire il progetto e tante altre.

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Insomma: c’è modo di “ignorare” questi file all’interno di git? Un compromesso che permetta di lavorare correttamente e senza intoppi a tutti quanti? Sì, si può.

.gitignore: il file che ti permette di ignorare alcuni file

L’unica cosa che devi fare, è creare un file che ti permette di ignorare alcuni file oppure quelli che vuoi tu: questo file si chiama “.gitignore”.

Mi permetto di prendere la definizione dalla guida ufficiale di git che è tutt’altro che tecnichese anzi:

Il gitignore è un file che ti permette di ignorare INTENZIONALMENTE e quindi NON tracciare dei file a seconda delle tue necessità

Semplice vero? Niente di trascendentale!

Per poterlo utilizzare beh… Devi crearlo e aggiungerlo al tuo repository.

Molto banalmente così:

touch .gitignore
git add .gitignore
git commit -m "Ho creato e aggiunto il gitignore al repository"

Con questi tre comandi abbiamo creato, aggiunto e committato il “gitignore” al nostro repository.

Avrai sicuramente fatto caso al fatto che il file comincia con un punto e di fatto non si chiama “gitignore”, ma “.gitignore” perchè è così che vuole git.

Come si usa gitignore?

Gitignore funziona a tutti gli effetti come una semplice lista di direttive.

Per aggiungere/rimuovere le regole che gestiscono i file da ignorare e quindi rendere “untracked” a tutti gli effetti, è una pura e semplice operazione di scrittura di testo.

Facciamo un esempio concreto e diretto.

All’interno del tuo repository c’è un file che si chiama “configurazione_MacOS.txt”.

Al suo interno, ci scrivi qualcosa come “Questo è un file di configurazione MacOS”.

A questo punto, se digiti il comando “git status”, git ti risponderà in questo modo:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	configurazione_MacOS.txt
no changes added to commit (use "git add" and/or "git commit -a")

In parole molto semplici: finché non aggiungi quel file con un commit non puoi proseguire.

Ma invece tu non lo vuoi aggiungere con un commit e quindi tracciarlo!

Che facciamo allora?

Prendi il file “.gitignore” e scrivi al suo interno:

configurazione_MacOS.txt

Se provi a ripetere “git status”, dovresti trovarti in questa situazione:

On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
	modified:   .gitignore

Et voilà! Le modifiche al file “configurazione_MacOS.txt” sono sparite e anche se lo modificherai in futuro, non sarà più tracciato!


… Certo, il “.gitignore” e le sue modifiche è necessario registrarle in un commit.

Ma prima di lasciarti, vorrei lasciarti un altro esempio.

Immagina di avere 69420 file di tipo “txt”: cosa fai? Aggiungi ogni singolo nome di ogni singolo file al gitignore? MA ANCHE NO!

Il gitignore permette di usare il formato “pattern” e quindi, se volessi ignorare tutti i file di tipo txt, dovresti scriverci anche questo:

*.txt

Da questo momento in poi, tutti i file di tipo “txt” non verranno tracciati nel tuo commit.

®™

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più