Gitignore Tester
Indsæt dine .gitignore-regler og en liste over filstier for at se præcis hvilke filer der ignoreres, af hvilken regel og linje, og hvilke negationsregler der er lydløst døde fordi en overmappe allerede ignoreres.
🔒 Behandles helt i din browser - intet, du indtaster her, bliver nogensinde uploadet.
Resultat
"Hvorfor virker min .gitignore-negation ikke?" er et af de mest almindelige git-spørgsmål, og det ærlige svar er næsten altid det samme: et `!mønster`, der forsøger at geninkludere en fil inde i en mappe, som en tidligere regel allerede udelukker, kan aldrig virke, fordi git ikke dykker ned i ignorerede mapper for at tjekke noget indeni igen. Dette værktøj genimplementerer gits faktiske .gitignore-matchingsalgoritme — ikke en tilnærmelse — netop så det kan fange og forklare den situation, sammen med alle de andre mønsterregler, git understøtter.
Indsæt dine .gitignore-regler i ét felt og en liste over filstier (én pr. linje, f.eks. `dist/index.js`, `node_modules/foo/bar.js` eller `.env`) i det andet, så evaluerer værktøjet hver sti nøjagtigt, som git ville gøre det: kommentarer og tomme linjer springes over, efterfølgende mellemrum fjernes, medmindre de er escapede, et indledende `!` negerer en regel, en indledende `/` forankrer den til roden i stedet for at lade den matche på ethvert niveau, en afsluttende `/` begrænser den til mapper, og `*`, `?`, `[abc]`-tegnklasser og `**` (matcher på tværs af mappegrænser) virker alle efter de dokumenterede glob-regler.
Afgørende er, at stier tjekkes mappe for mappe fra roden og ned, på samme måde som gits egen ignore-motor fungerer — ikke ved at teste den fulde sti mod hver regel isoleret. Det er det, der gør det muligt korrekt at opdage den døde-negation-situation: hvis `dist/` ignoreres på linje 3, og en senere `!dist/keep.js` forsøger at redde én fil indeni, rapporterer dette værktøj `dist/keep.js` som stadig ignoreret, nævner linje 3-reglen som årsag og markerer separat negationen som skygget i stedet for lydløst at lade som om den virkede.
Resultattabellen giver hver testet sti sin egen række med en klar ja/nej-vurdering for ignoreret, den nøjagtige regeltekst og det linjenummer, der afgjorde det, og — når det er relevant — en note i klart sprog, der forklarer en skygget negation eller en nedarvet overmapperegel. Det er detaljen, der gør en forvirrende .gitignore til én, du rent faktisk kan gennemskue, før du comitter.