Generatore di .gitignore
Crea un file .gitignore selezionando i linguaggi, i framework e gli editor che usi — Node.js, Python, Java, macOS, Windows, VS Code e molto altro — senza righe duplicate e pronto da scaricare.
231 visualizzazioni
Come Funziona
Spunta le caselle che corrispondono al tuo progetto — un linguaggio o runtime come Node.js, Python o Java, un sistema operativo come macOS, Windows o Linux, un editor come VS Code o IntelliJ/JetBrains, più un blocco per i file residui di Git stesso e uno per .env e le credenziali. Ogni casella aggiunge un piccolo insieme di pattern di esclusione consolidati, presi dalle convenzioni che la comunità usa davvero — node_modules/ per Node, __pycache__/ e .venv/ per Python, *.class e target/ per Java, .DS_Store per macOS, Thumbs.db per Windows, e così via. Man mano che selezioni più caselle, lo strumento unisce tutto in un unico elenco, elimina i duplicati esatti e mostra il risultato in tempo reale in una casella di testo che puoi copiare o scaricare direttamente come file chiamato .gitignore.
Il motivo per combinare più categorie invece di scriverne una da zero è che la maggior parte dei progetti reali ricade in diverse categorie contemporaneamente: un'API Node.js sviluppata su un Mac con VS Code ha bisogno del blocco Node per gli artefatti di build, del blocco macOS perché .DS_Store non finisca mai in una pull request, e del blocco VS Code perché le tue impostazioni personali dell'editor non sovrascrivano quelle di un collega. Spuntare tutti e tre e scaricare una sola volta è più veloce e meno soggetto a errori che assemblare a mano i pattern a memoria o incollare frammenti presi da vecchi progetti.
Cose da Sapere
Un file .gitignore influisce solo sui file che Git non conosce ancora — dice a Git quali file non tracciati escludere da git status, git add . e dai commit futuri. Non ha alcun effetto sui file già tracciati (già inclusi in almeno un commit). Questo è il punto di confusione più comune: aggiungere .env a .gitignore dopo che è già stato committato non lo rimuove dal repository né impedisce a Git di continuare a tracciarne le modifiche future. Per smettere davvero di tracciare un file bisogna prima eseguire git rm --cached <file> (che lo rimuove dall'indice di Git ma lo lascia sul disco), fare il commit di quella rimozione, e solo a quel punto la regola corrispondente in .gitignore entra in vigore per il futuro.
La maggior parte dei pattern proposti qui deriva dal repository ufficiale github/gitignore di GitHub, la fonte più consultata per i modelli specifici di linguaggi e strumenti, la stessa collezione che GitHub propone quando crei un nuovo repository dalla sua interfaccia web. Tenere fuori dal controllo di versione cartelle di dipendenze come node_modules/ e output di build come dist/ o target/ è importante per le dimensioni — queste cartelle possono facilmente superare più volte il peso del codice sorgente vero e proprio e si rigenerano banalmente da un file di lock o da uno script di build — mentre tenere fuori file come .env, *.pem e *.key è importante per la sicurezza: committare una credenziale nella cronologia di Git la rende di fatto pubblica per sempre, perché rimuoverla dall'ultimo commit non la cancella da quelli precedenti senza riscrivere completamente la cronologia.
Domande Frequenti
Ho aggiunto un file a .gitignore ma Git continua a tracciarlo — perché?
.gitignore impedisce a Git solo di iniziare a tracciare file che non conosce ancora. Se il file era già stato committato prima di aggiungere la regola, Git continua a tracciarlo a prescindere da cosa dice .gitignore. Risolvi con git rm --cached <file> (o git rm -r --cached <cartella> per una directory), poi fai il commit di quella modifica — da quel momento in poi la regola di .gitignore entra in vigore.
Posso combinare più categorie insieme, per esempio Node.js, macOS e VS Code?
Sì — è il caso più comune. Spunta ogni casella che corrisponde alla tua configurazione e lo strumento unisce tutti i pattern risultanti in un unico elenco, rimuovendo i duplicati esatti così la stessa riga non compare mai due volte.
Da dove vengono questi pattern di esclusione?
Seguono le stesse convenzioni del repository ufficiale github/gitignore di GitHub, il riferimento standard a cui rimandano la maggior parte degli strumenti e dei tutorial. Sono gli stessi pattern di file e cartelle che otterresti generando un modello con l'opzione "Add .gitignore" di GitHub durante la creazione di un repository.
Perché node_modules/ o .env non andrebbero mai committati?
node_modules/ è una cache di dipendenze che può essere rigenerata da package.json/package-lock.json in pochi secondi — committarla gonfia il repository con megabyte (a volte gigabyte) di file ridondanti. .env è diverso: contiene tipicamente chiavi API, password di database o altre credenziali, e una volta che una credenziale finisce nella cronologia di Git va considerata compromessa, perché eliminarla dall'ultimo commit non la rimuove dai commit precedenti — solo riscrivere la cronologia (e ruotare la credenziale) risolve davvero il problema.
Il file scaricato va rinominato?
No. Il pulsante di download salva il file con il nome esatto che Git si aspetta — .gitignore, con un punto iniziale e senza estensione — così puoi metterlo direttamente nella cartella radice del tuo progetto prima del tuo primo commit.
Strumenti Simili
Segnala un Problema
Generatore di .gitignore
Commenti
Ancora nessun commento — scrivi il primo!