Gitignore Tester
Liitä .gitignore-sääntösi ja luettelo tiedostopoluista nähdäksesi tarkalleen, mitkä tiedostot ohitetaan, mikä tarkka sääntö ja rivi ja mitkä kieltämissäännöt ovat hiljaa kuolleet, koska ylähakemisto on jo ohitettu.
Tulos
"Miksi .gitignore-negaationi ei toimi?" on yksi yleisimmistä git-kysymyksistä, ja rehellinen vastaus on melkein aina sama: `!pattern`, joka yrittää sisällyttää tiedoston uudelleen hakemistoon, jonka aikaisempi sääntö jo sulkee pois, ei voi koskaan toimia, koska git ei laskeudu ohitettuihin hakemistoihin tarkistaakseen uudelleen mitään niiden sisällä. Tämä työkalu toteuttaa uudelleen gitin varsinaisen .gitignore-sovitusalgoritmin – ei likiarvoa – erityisesti, jotta se voi saada kiinni ja selittää tarkan tilanteen yhdessä kaikkien muiden gitin tukemien kuviosääntöjen kanssa.
Liitä .gitignore-säännöt yhteen laatikkoon ja tiedostopolkuluettelo (yksi riviä kohden, kuten `dist/index.js`, `node_modules/foo/bar.js` tai `.env`) toiseen, ja työkalu arvioi jokaisen polun täsmälleen samalla tavalla kuin git tekisi: kommentit ja tyhjät rivit ohitetaan. `/` ankkuroi sen juuriin sen sijaan, että antaisi sen täsmäytyä missä tahansa syvyydessä, lopussa oleva `/` rajoittaa sen hakemistoihin, ja `*`, `?`, `[abc]` merkkiluokkia ja `**` (vastaa hakemistorajoja) kaikki toimivat dokumentoitujen glob-sääntöjen mukaisesti.
Kriittisesti polut tarkistetaan hakemistosta hakemistoon juuresta alaspäin, samalla tavalla kuin gitin oma ohitusmoottori toimii – ei testaamalla koko polkua jokaista sääntöä vastaan erikseen. Tämä mahdollistaa kuolleiden negatiivisten tapausten havaitsemisen oikein: jos "dist/" jätetään huomioimatta rivillä 3 ja myöhempi "!dist/keep.js" yrittää pelastaa yhden tiedoston sen sisällä, tämä työkalu ilmoittaa "dist/keep.js" olevan edelleen huomioimatta, nimeää rivin 3 säännön syyksi ja ilmoittaa erikseen negatiivisen vaikutuksen sen sijaan, että se toimisi sen varjossa.
Tulostaulukko antaa jokaiselle testatulle polulle oman rivinsä, jossa on selvä kyllä/ei ohitettu arvio, tarkka sääntöteksti ja rivinumero, joka ratkaisi sen, ja – aina kun se on aiheellista – selväkielinen huomautus, joka selittää varjostetun negation tai perityn ylähakemistosäännön. Tämä on se yksityiskohta, joka muuttaa hämmentävän .gitignoren sellaiseksi, jota voit itse harkita ennen sitoutumista.