0

Gitignore-testaaja

Liitä .gitignore-sääntösi ja lista tiedostopoluista nähdäksesi tarkalleen, mitkä tiedostot ohitetaan, millä tarkalla säännöllä ja rivillä, ja mitkä negaatiosäännöt ovat äänettömästi kuolleita, koska ylähakemisto on jo ohitettu.

🔒 Käsitelty kokonaan selaimessasi – mitään tähän kirjoittamaasi ei koskaan ladata.

Käsitellään... 0%
Jäsennetään .gitignore-sääntöjä
Yhdistetään tiedostopolkuja
Valmis

Tulos

"Miksi .gitignore-negaationi ei toimi?" on yksi yleisimmistä git-kysymyksistä, ja rehellinen vastaus on melkein aina sama: `!pattern`, joka yrittää sisällyttää uudelleen tiedoston hakemistossa, jonka aiempi sääntö jo sulkee pois, ei voi koskaan toimia, koska git ei laskeudu ohitettuihin hakemistoihin tarkistaakseen mitään niiden sisällä. Tämä työkalu toteuttaa uudelleen gitin todellisen .gitignore-vastaavuusalgoritmin – ei likiarvoa – erityisesti siksi, että se voi havaita ja selittää juuri tuon tilanteen, samoin kuin kaikki muut gitin tukemat sääntömallit.

Liitä .gitignore-sääntösi yhteen laatikkoon ja lista tiedostopoluista (yksi per rivi, kuten `dist/index.js`, `node_modules/foo/bar.js` tai `.env`) toiseen, ja työkalu arvioi jokaisen polun täsmälleen kuten git tekisi: kommentit ja tyhjät rivit ohitetaan, lopun välilyönnit poistetaan, ellei niitä ole suojattu, alussa oleva `!` kumoaa säännön, alussa oleva `/` ankkuroi sen juureen sen sijaan, että se vastaisi millä syvyydellä tahansa, lopussa oleva `/` rajoittaa sen hakemistoihin ja `*`, `?`, `[abc]`-merkkiluokat ja `**` (vastaa hakemistorajojen yli) toimivat kaikki dokumentoitujen glob-sääntöjen mukaan.

Kriittisesti polut tarkistetaan hakemisto kerrallaan juuresta alaspäin, samalla tavalla kuin gitin oma ohitusmoottori toimii – ei testaamalla koko polkua jokaista sääntöä vasten erikseen. Tämä mahdollistaa kuolleen negaation tapauksen oikean havaitsemisen: jos `dist/` ohitetaan rivillä 3 ja myöhempi `!dist/keep.js` yrittää pelastaa yhden tiedoston sen sisällä, tämä työkalu ilmoittaa `dist/keep.js`:n yhä ohitetuksi, nimeää rivin 3 säännön syyksi ja erikseen merkitsee negaation varjostetuksi sen sijaan, että se hiljaisesti teeskentelisi sen toimineen.

Tulostaulukko antaa jokaiselle testatulle polulle oman rivinsä, jossa on selkeä kyllä/ei ohitettu -tuomio, tarkka sääntöteksti ja rivinumero, joka ratkaisi sen, ja – aina kun aiheellista – selkokielinen huomautus, joka selittää varjostetun negaation tai perityn ylähakemistosäännön. Tämä on se yksityiskohta, joka muuttaa hämmentävän .gitignoren sellaiseksi, jota voit todella järkeillä ennen committausta.