Articolo originale: Gitignore Explained: What is Gitignore and How to Add it to Your Repo

Il file .gitignore è un file di testo che dice a Git quali file e cartelle ignorare in un progetto.

Un file .gitignore locale viene tipicamente aggiunto nella cartella root di un progetto. Puoi anche creare un file .gitignore globale, e quello che ci scrivi viene ignorato in tutti i tuoi repo Git.

Per creare un file .gitignore locale, crea un file di testo e dagli il nome .gitignore (ricorda di includere il punto . all'inizio). Poi modifica questo file al bisogno. Ogni nuova riga dovrebbe elencare un altro file o un'altra cartella che vuoi che Git ignori.

Le voci in questo file possono anche seguire un pattern:

  • * è un jolly
  • / è usato per ignorare percorsi relativi al file .gitignore
  • # è usato per aggiungere commenti al file .gitignore

Questo è un esempio di come potrebbe essere un file .gitignore:

# Ignora i file di sistema Mac
.DS_store

# Ignora la cartella node_modules
node_modules

# Ignora tutti i file .txt
*.txt

# Ignora i file collegati alle chiavi API
.env

# Ignora i file SASS di configurazione
.sass-cache

Per aggiungere o cambiare il tuo file .gitignore globale, esegui il seguente comando:

git config --global core.excludesfile ~/.gitignore_global

Questo comando crea il file ~/.gitignore_global. Ora puoi modificare quel file allo stesso modo di un file .gitignore. Tutti i tuoi repo git ignoreranno i file e le cartelle scritte nel file globale .gitignore.

Come smettere di tenere traccia dei file precedentemente inclusi in un commit da un nuovo gitignore

Per smettere di tenere traccia di un singolo file, cioè smettere di tenerne traccia ma non cancellarlo dal sistema usa:

git rm --cached filename

Per smettere di tenere traccia di tutti i file in .gitignore:

Prima fai il commit di qualsiasi cambiamento che hai in sospeso, poi esegui:

git rm -r --cached

Questo rimuove qualsiasi file dall'indice (area di staging). Poi esegui:

git add .

Fai il commit:

git commit -m ".gitignore ora funziona"

Per annullare git rm --cached filename, usa git add filename