Gitignore testētājs
Ielīmējiet savus .gitignore noteikumus un failu ceļu sarakstu, lai precīzi redzētu, kuri faili tiek ignorēti, pēc kura tieši noteikuma un rindas, un kuri nolieguma noteikumi ir klusi neaktīvi, jo vecākdirektorija jau tiek ignorēta.
🔒 Pilnībā apstrādāts jūsu pārlūkprogrammā — nekas, ko jūs šeit ievadāt, nekad netiek augšupielādēts.
Rezultāts
"Kāpēc mans .gitignore noliegums nedarbojas?" ir viens no visbiežāk uzdotajiem git jautājumiem, un godīgā atbilde gandrīz vienmēr ir viena un tā pati: `!pattern`, kas mēģina atkārtoti iekļaut failu direktorijā, kuru jau izslēdz iepriekšējs noteikums, nekad nevar darboties, jo git neielūkojas ignorētās direktorijās, lai atkārtoti pārbaudītu kaut ko tajās. Šis rīks atkārto git faktisko .gitignore atbilstības algoritmu — nevis aptuvenu — tieši tāpēc, lai varētu uztvert un izskaidrot šo konkrēto situāciju, kā arī visus citus pattern noteikumus, ko git atbalsta.
Ielīmējiet savus .gitignore noteikumus vienā lodziņā un failu ceļu sarakstu (pa vienam katrā rindā, piemēram, `dist/index.js`, `node_modules/foo/bar.js` vai `.env`) otrā, un rīks izvērtē katru ceļu tieši tā, kā to darītu git: komentāri un tukšas rindas tiek izlaistas, beigu atstarpes tiek noņemtas, ja vien nav izsargātas, sākuma `!` noliedz noteikumu, sākuma `/` noenkuro to saknē, nevis ļauj tam atbilst jebkurā dziļumā, beigu `/` ierobežo to tikai direktorijām, un `*`, `?`, `[abc]` rakstzīmju klases un `**` (kas atbilst pāri direktoriju robežām) darbojas atbilstoši dokumentētajiem glob noteikumiem.
Būtiski, ka ceļi tiek pārbaudīti direktoriju pēc direktorijas no saknes lejup, tāpat kā darbojas paša git ignorēšanas mehānisms — nevis testējot pilno ceļu pret katru noteikumu atsevišķi. Tas ļauj pareizi noteikt mirušā nolieguma gadījumu: ja `dist/` tiek ignorēts 3. rindā un vēlāks `!dist/keep.js` mēģina glābt vienu failu tajā iekšā, šis rīks ziņo `dist/keep.js` kā joprojām ignorētu, norāda 3. rindas noteikumu kā iemeslu un atsevišķi atzīmē noliegumu kā ēnotu, nevis klusējot izliekas, ka tas nostrādāja.
Rezultātu tabulā katram testētajam ceļam ir sava rinda ar skaidru jā/nē ignorēšanas spriedumu, precīzu noteikuma tekstu un rindas numuru, kas to noteica, un — kad tas ir būtiski — vienkāršā valodā izteiktu piezīmi, kas izskaidro ēnotu noliegumu vai mantotu vecākdirektorijas noteikumu. Šī ir detaļa, kas pārvērš mulsinošu .gitignore par tādu, ko pirms komita patiešām var saprast.