Generatore di .gitignore — Template per ogni linguaggio e IDE
Combina template .gitignore per linguaggi, framework, editor e sistemi operativi in un unico file pulito.
### Node.js ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* .pnpm-debug.log* # Runtime data pids *.pid *.seed *.pid.lock # Coverage coverage *.lcov .nyc_output # Dependencies node_modules/ jspm_packages/ bower_components # Caches .npm .eslintcache .stylelintcache .cache .parcel-cache *.tsbuildinfo .node_repl_history *.tgz # Yarn .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz .pnp.* # Environment .env .env.* !.env.example # Build output dist build out ### macOS ### # General .DS_Store .AppleDouble .LSOverride # Custom folder icons (the real file name is "Icon" followed by a carriage return) Icon? # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk ### Windows ### # Windows thumbnail cache files Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk ### Visual Studio Code ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json !.vscode/*.code-snippets # Local History for Visual Studio Code .history/ # Built Visual Studio Code Extensions *.vsix
I browser spesso salvano un file che inizia con il punto come “gitignore.txt”; rinominalo esattamente .gitignore nella cartella principale del progetto.
Funziona interamente nel browser. I modelli sono inclusi nella pagina; nulla viene scaricato o inviato. Sfoglia tutti gli strumenti gratuiti.
Hai trovato un problema o qualcosa che potrebbe andare meglio? Leggiamo ogni messaggio e sistemiamo le cose in fretta.
Questo generatore di .gitignore crea un file .gitignore a partire dai template per i linguaggi, i framework, gli editor e i sistemi operativi del tuo progetto. Scegli Node.js, Python, Unity, JetBrains, macOS o uno qualsiasi degli oltre 60 disponibili, oppure parti da uno stack come “app Next.js”, e i template vengono uniti in un unico file con un'intestazione per ogni sezione. I pattern che compaiono in più template vengono scritti una volta sola.
I template sono basati sulla diffusissima raccolta github/gitignore, ripuliti dai lunghi blocchi di commenti e inclusi nella pagina, quindi funziona offline e nulla del tuo progetto viene inviato da nessuna parte. La rimozione dei duplicati è fatta con cautela perché .gitignore dipende dall'ordine: quando un template reinclude qualcosa con una regola “!”, i duplicati successivi vengono mantenuti per non rischiare di cambiare ciò che viene ignorato. Un .gitignore agisce solo sui file non tracciati; consulta le domande frequenti per i file che Git traccia già.
Come si usa
- Fai clic su uno stack predefinito, oppure cerca i template e spunta quelli usati dal tuo progetto: linguaggio, framework, editor e sistema operativo.
- Rimuovi quelli che non ti servono con la × sulla relativa etichetta.
- Aggiungi le regole specifiche del progetto, come una cartella uploads/, in “Le tue regole”.
- Copia il risultato, oppure scaricalo e salvalo come .gitignore nella radice del repository.
- Fai il commit: git add .gitignore && git commit -m "Add .gitignore".
Domande frequenti
Perché un file è ancora tracciato dopo averlo aggiunto a .gitignore?
Un .gitignore impedisce solo che vengano aggiunti file non tracciati. Se Git traccia già il file, continua a tracciarlo. Rimuovilo dall'indice senza cancellarlo dal disco con git rm --cached percorso/del/file (o git rm -r --cached cartella/), poi fai il commit. Se conteneva un segreto, il segreto è ancora nella cronologia e va sostituito.
Il file .gitignore va committato?
Sì. Deve stare nel repository, così chiunque cloni il progetto ignora le stesse cartelle di build e di dipendenze. Le regole che valgono solo per te, come i file del tuo editor, possono andare in .git/info/exclude per un singolo repository oppure in un file di ignore globale impostato con git config --global core.excludesFile ~/.gitignore_global.
package-lock.json o yarn.lock vanno ignorati?
No, per le applicazioni il file di lock va committato. Registra le versioni esatte delle dipendenze che sono state testate, così ogni installazione e ogni esecuzione della CI ottiene lo stesso albero. Lo stesso vale per poetry.lock, Pipfile.lock, Cargo.lock per i binari, Gemfile.lock e composer.lock. Nessuno dei template qui li ignora.
Cosa significano i pattern?
Una barra finale (build/) corrisponde solo alle cartelle. Una barra iniziale (/build) ancora il pattern alla cartella che contiene il .gitignore. * corrisponde a qualsiasi cosa tranne una barra, ** attraversa le cartelle (logs/**/*.log) e ? corrisponde a un singolo carattere. Una riga che inizia con ! reinclude qualcosa escluso da un pattern precedente, e # inizia un commento, ma solo a inizio riga.
Perché la mia regola di negazione (!) non funziona?
Git non può reincludere un file se una delle sue cartelle superiori è esclusa, perché non guarda mai dentro una cartella ignorata. Invece di ignorare la cartella (logs/), ignora il suo contenuto (logs/*) e poi reincludi il file (!logs/.gitkeep). Conta anche l'ordine: la riga con ! deve venire dopo il pattern che sovrascrive.
Posso verificare perché un file viene ignorato?
Sì: git check-ignore -v percorso/del/file mostra il file .gitignore, il numero di riga e il pattern che corrisponde. git status --ignored elenca tutti i file ignorati nella working tree.
Cosa mettere in un .gitignore
• Le dipendenze che un gestore di pacchetti reinstalla: node_modules/, vendor/, .venv/, Pods/.
• Output di build e cache: dist/, build/, target/, .next/, __pycache__/, *.class, report di copertura.
• Segreti locali e file d'ambiente: .env, *.pem, JSON con credenziali. Committa invece un .env.example con valori segnaposto.
• File superflui di editor e sistema operativo: .DS_Store, Thumbs.db, .idea/, gran parte di .vscode/.
• Log, crash dump e database locali: *.log, *.sqlite (a meno che il database non sia una fixture voluta).
Da tenere nel repository: sorgenti, file di lock, la configurazione che serve a ogni sviluppatore e le impostazioni condivise dell'editor come .vscode/extensions.json, che il template VS Code reinclude di proposito.
Dove Git cerca le regole di ignore
Git combina diverse fonti, dalla priorità più alta alla più bassa: i pattern passati dalla riga di comando; i file .gitignore nella stessa cartella del percorso e poi in ogni cartella superiore fino alla radice del repository (un .gitignore in una sottocartella vale solo al di sotto di essa); .git/info/exclude, che è locale e non viene mai committato; e il file globale indicato da core.excludesFile, che per impostazione predefinita è ~/.config/git/ignore. Metti le regole per sistema operativo ed editor nel file globale se preferisci che i .gitignore del progetto riguardino solo il progetto.
Strumenti gratuiti correlati
- Calcolatore chmod — Seleziona le caselle di lettura, scrittura ed esecuzione per ottenere il modo ottale e il comando chmod, oppure decodifica 755, 644 e rwxr-xr-x.
- Docker Run ⇄ Compose — Trasforma un comando docker run in un servizio docker-compose.yml, o un servizio Compose di nuovo in docker run.
- Tester regex — Prova un'espressione regolare su un testo di esempio con evidenziazione delle corrispondenze in tempo reale, gruppi di cattura e anteprima della sostituzione. Gratis, nel browser.
- Formattatore JSON — Formatta, minifica e valida JSON, con gli errori di parsing localizzati per riga e colonna. Nel tuo browser, senza upload.