0

Tester Gitignore

Incolla le tue regole .gitignore e un elenco di percorsi di file per vedere esattamente quali file vengono ignorati, da quale regola e riga esatte e quali regole di negazione sono silenziosamente morte perché una directory principale è già ignorata.

Buy Me a Coffee at ko-fi.com
Elaborazione... 0%
Analisi delle regole .gitignore
Percorsi di file corrispondenti
Fatto

Risultato

"Perché la mia negazione .gitignore non funziona?" è una delle domande su Git più comuni che ci siano, e la risposta onesta è quasi sempre la stessa: un `!pattern` che tenta di includere nuovamente un file all'interno di una directory che una regola precedente già esclude non può mai funzionare, perché git non scende nelle directory ignorate per ricontrollare qualcosa al loro interno. Questo strumento reimplementa l'effettivo algoritmo di corrispondenza .gitignore di git (non un'approssimazione) in modo specifico in modo che possa catturare e spiegare quella situazione esatta, insieme a ogni altra regola di modello supportata da git.

Incolla le tue regole .gitignore in una casella e un elenco di percorsi di file (uno per riga, come `dist/index.js`, `node_modules/foo/bar.js` o `.env`) nell'altra, e lo strumento valuterà ogni percorso esattamente come farebbe git: i commenti e le righe vuote vengono saltati, gli spazi finali vengono rimossi a meno che non vengano evitati, un `!` iniziale nega una regola, un `/` iniziale lo ancora alla radice invece di lasciarlo corrisponde a qualsiasi profondità, un `/` finale lo limita alle directory e le classi di caratteri `*`, `?`, `[abc]` e `**` (corrispondenza oltre i limiti delle directory) funzionano tutte secondo le regole glob documentate.

Fondamentalmente, i percorsi vengono controllati directory per directory dalla radice verso il basso, allo stesso modo in cui funziona il motore di esclusione di git, non testando il percorso completo rispetto a ogni regola isolatamente. Questo è ciò che rende possibile rilevare correttamente il caso di negazione morta: se `dist/` viene ignorato sulla riga 3 e un successivo `!dist/keep.js` tenta di salvare un file al suo interno, questo strumento segnala `dist/keep.js` come ancora ignorato, nomina la regola della riga 3 come motivo e contrassegna separatamente la negazione come oscurata anziché fingere silenziosamente che funzioni.

La tabella dei risultati fornisce a ogni percorso testato la propria riga con un chiaro verdetto sì/no ignorato, il testo esatto della regola e il numero di riga che lo ha deciso e, se pertinente, una nota in linguaggio semplice che spiega una negazione ombreggiata o una regola ereditata dalla directory principale. Questo è il dettaglio che trasforma un confuso .gitignore in uno su cui puoi effettivamente ragionare prima di impegnarti.