0

Тестер .gitignore датотека

Налепите своја .gitignore правила и списак путања датотека да бисте видели које су датотеке тачно игнорисане, по ком тачном правилу и линији, и која правила негације су нечујно мртва јер је родитељски директоријум већ игнорисан.

🔒 У потпуности се обрађује у вашем претраживачу — ништа што овде унесете се никада не отпрема.

Обрада... 0%
Рашчлањивање .gitignore правила
Упаривање путања датотека
Готово

Резултат

„Зашто моја .gitignore негација не ради?“ једно је од најчешћих git питања, а искрен одговор је готово увек исти: `!образац` који покушава да поново укључи датотеку унутар директоријума који је раније правило већ искључило никада не може да проради, јер git не улази у игнорисане директоријуме да би поново проверавао било шта унутар њих. Овај алат поново имплементира стварни git алгоритам за упаривање .gitignore датотека — не апроксимацију — управо зато да би могао да ухвати и објасни управо ту ситуацију, заједно са свим осталим правилима образаца које git подржава.

Налепите своја .gitignore правила у једно поље, а списак путања датотека (једну по линији, као што су `dist/index.js`, `node_modules/foo/bar.js` или `.env`) у друго, и алат процењује сваку путању тачно онако како би то git урадио: коментари и празне линије се прескачу, завршни размаци се уклањају осим ако нису ескејповани, водећи `!` негира правило, водећа `/` га усидрава за корен уместо да дозвољава упаривање на било којој дубини, завршна `/` га ограничава на директоријуме, а `*`, `?`, класе знакова `[abc]` и `**` (који упарује преко граница директоријума) раде према документованим глоб правилима.

Од кључне важности, путање се проверавају директоријум по директоријум од корена надоле, на исти начин на који ради git-ов сопствени механизам за игнорисање — а не тестирањем пуне путање наспрам сваког правила изоловано. То је оно што омогућава исправно откривање случаја мртве негације: ако је `dist/` игнорисан на линији 3, а касније `!dist/keep.js` покуша да спаси једну датотеку унутар њега, овај алат пријављује `dist/keep.js` као и даље игнорисану, именује правило са линије 3 као разлог и посебно означава негацију као засењену, уместо да се ћутке претвара да је прорадила.

Табела резултата даје свакој тестираној путањи сопствени ред са јасном пресудом да/не о игнорисању, тачним текстом правила и бројем линије који су о њој одлучили и — кад год је то релевантно — напоменом на једноставном језику која објашњава засењену негацију или наслеђено правило родитељског директоријума. То је детаљ који збуњујући .gitignore претвара у нешто о чему заиста можете да размишљате пре него што комитујете.