Che cos'è un file .gitignore?
Un file .gitignore è un file di testo posizionato nella radice del tuo repository Git. Specifica file e pattern non tracciati che Git deve ignorare intenzionalmente, impedendo che file di compilazione, secret locali, cartelle di dipendenze e file temporanei di sistema vengano inclusi nel controllo versione.
Dove deve essere posizionato il file .gitignore?
Posiziona il file .gitignore nella directory principale (root) del tuo progetto (es. /mio-progetto/.gitignore). Nella root, le sue regole si applicano in modo ricorsivo a tutte le cartelle e i file del repository. Puoi anche inserire file .gitignore aggiuntivi nelle sottocartelle se desideri regole specifiche per quei percorsi.
Posso combinare più modelli di .gitignore?
Sì. I progetti moderni combinano quasi sempre più tecnologie (es. Python + React + Docker + macOS + VS Code). DotGitIgnore ti consente di selezionare tutti i modelli necessari, risolvendo le sovrapposizioni e deduplicando le regole identiche in un unico file pulito.
Come si ignora un'intera cartella in Git?
Per ignorare una cartella e tutto il suo contenuto, aggiungi uno slash finale al nome nel file .gitignore (es. node_modules/ o build/). Un pattern senza slash corrisponde sia a file che a directory con quel nome, mentre lo slash finale limita la regola esclusivamente alle cartelle.
Come posso smettere di tracciare un file già committato?
Aggiungere un file al .gitignore non lo rimuove da Git se era già tracciato nei commit precedenti. Per smettere di tracciarlo senza cancellarlo dal disco locale, esegui 'git rm --cached <file>' (o 'git rm -r --cached <cartella>/' per le directory) e conferma con un commit.
Posso modificare il file .gitignore generato?
Sì. L'output generato da DotGitIgnore è testo di configurazione standard di Git. Puoi aggiungere liberamente percorsi specifici del progetto, segreti del tuo ambiente locale, commenti o disattivare singole regole nel generatore o nel tuo editor dopo il download.
Come si usa il .gitignore in Git?
Crea un file chiamato .gitignore nella root del repository, inserisci i percorsi relativi o pattern che desideri escludere (come dist/, .env o *.log) e committa il file con 'git add .gitignore && git commit -m "Add .gitignore"'. Da quel momento, Git ignorerà tutti i nuovi file non tracciati corrispondenti alle regole.
Come funziona internamente .gitignore?
Durante le verifiche del working tree (es. con 'git status' o 'git add .'), Git confronta i file non tracciati con i pattern definiti nei file .gitignore. Se un file corrisponde a un'esclusione e non viene ripristinato da una successiva regola di negazione '!', Git lo esclude dall'indice.
A cosa serve esattamente .gitignore?
Il file .gitignore indica a Git quali file e cartelle non tracciati escludere dal versionamento. Impedisce che file temporanei, binari compilati, pacchetti esterni, metadati del sistema operativo (.DS_Store) e credenziali di accesso sporchino la cronologia dei commit o vengano pubblicati su repository remoti.
Il file .gitignore deve essere committato nel repository?
Sì. Nella quasi totalità dei casi, il file .gitignore deve essere committato per garantire che tutti i colleghi di lavoro e le pipeline di CI/CD condividano le stesse regole di esclusione. Per preferenze personali del tuo editor locale, usa .git/info/exclude o un file gitignore globale.
Perché .gitignore non sta ignorando i miei file?
Il motivo più frequente è che il file è già tracciato da Git. Il file .gitignore impedisce l'indicizzazione solo dei file non ancora tracciati. Per risolvere, rimuovi il file dall'indice con 'git rm --cached <file>' e committa. Altre cause comuni sono errori di sintassi o slash posizionati in modo errato.
Cosa succede se si inserisce .gitignore dentro a .gitignore?
Se .gitignore è già stato committato, inserirlo non ha alcun effetto perché Git lo sta già tracciando. Se lo aggiungi prima del primo commit, Git ignorerà il file .gitignore stesso, impedendoti di condividerlo con il team. In pratica, non dovresti mai ignorare il file .gitignore.
Come verificare se un file viene effettivamente ignorato?
Puoi verificare se un file è ignorato con il comando 'git check-ignore -v <percorso>'. Se il file è escluso, Git mostrerà il file .gitignore corrispondente, il numero di riga e il pattern corrispondente. Puoi anche eseguire 'git status --ignored' per vedere l'elenco di tutti i file ignorati.
Quali sono le migliori pratiche per usare .gitignore?
Crea il file prima del tuo primo commit nel progetto, organizza le regole per categorie logiche (dipendenze, build, secret locali), committa il file nel repository e gestisci gli strumenti specifici della tua macchina nel tuo gitignore globale. DotGitIgnore ti aiuta a partire con regole pulite e senza duplicati.
Cosa si dovrebbe includere in un file .gitignore?
Includi le cartelle di build (dist/, build/), le cartelle di dipendenze (node_modules/, vendor/), i file di ambiente (.env*), i file binari (*.class, *.o) e i file di log (*.log). Non ignorare mai il codice sorgente, i file di esempio di configurazione (.env.example) o i lockfile dei pacchetti.
È possibile avere più file .gitignore in un unico repository?
Sì. Git supporta più file .gitignore lungo la struttura delle cartelle. Le regole di un .gitignore in una sottocartella hanno priorità e si applicano a essa e alle sue cartelle figlie, prevalendo su quelle della radice. È ideale nei monorepo con più linguaggi o microservizi.
Come ignorare un singolo file specifico in Git?
Per ignorare un file ovunque nel progetto, scrivi il suo nome in .gitignore (es. segreto.txt). Per limitarlo solo alla radice del repository, anteponi uno slash (/segreto.txt). Per una cartella specifica, indica il percorso relativo (config/credenziali.json).
Come si ignorano le variabili d'ambiente e i file .env?
Aggiungi .env e varianti locali (.env.local, .env.*.local) al tuo .gitignore per impedire la fuga di token di autenticazione e password. Committa sempre un file pulito come .env.example con valori segnaposto per far sapere ai collaboratori quali variabili sono necessarie.
Qual è la differenza tra .gitignore e .git/info/exclude?
Il file .gitignore è versionato in Git e condiviso con tutti i collaboratori, risultando perfetto per le regole comuni del progetto (dipendenze e build). Al contrario, .git/info/exclude si trova all'interno di .git/ sul tuo PC, non viene mai committato o pushato ed è ideale per regole strettamente personali.
A cosa serve il punto esclamativo (!) in .gitignore?
Il punto esclamativo (!) nega un pattern per reincludere un file escluso da una regola precedente (es. *.log seguito da !importante.log). Tieni presente che Git non può reincludere un file se la sua cartella contenitore è già stata completamente ignorata.
Come forzare Git a tracciare un file ignorato?
Puoi forzare l'aggiunta di un file ignorato usando l'opzione -f (o --force): 'git add -f <percorso>'. Una volta committato, Git continuerà a tracciarlo anche se corrisponde a una regola del .gitignore, finché non viene esplicitamente rimosso con 'git rm --cached'.