Preizkuševalnik .gitignore
Prilepite svoja pravila .gitignore in seznam poti datotek ter si oglejte, katere datoteke so prezrte, natančno katero pravilo in vrstica sta odločila ter katera negacijska pravila so tiho mrtva, ker je nadrejeni imenik že prezrt.
🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.
Rezultat
»Zakaj moja negacija v .gitignore ne deluje?« je eno najpogostejših vprašanj o gitu, iskren odgovor pa je skoraj vedno enak: vzorec `!vzorec`, ki poskuša znova vključiti datoteko znotraj imenika, ki ga prejšnje pravilo že izključuje, nikoli ne more delovati, ker se git ne spusti v prezrte imenike, da bi v njih kar koli preverjal. To orodje znova izvaja resnični algoritem ujemanja .gitignore iz gita – ne približka – prav zato, da lahko ujame in pojasni točno to situacijo, skupaj z vsemi drugimi pravili za vzorce, ki jih git podpira.
V eno polje prilepite svoja pravila .gitignore, v drugo pa seznam poti datotek (eno na vrstico, na primer `dist/index.js`, `node_modules/foo/bar.js` ali `.env`). Orodje ovrednoti vsako pot natančno tako, kot bi to storil git: komentarji in prazne vrstice so preskočeni, končni presledki so odstranjeni, razen če so ubežni, začetni `!` negira pravilo, začetni `/` ga sidra na koren, namesto da bi mu dovolil ujemanje na kateri koli globini, končni `/` ga omeji samo na imenike, `*`, `?`, znakovni razredi `[abc]` in `**` (ujemanje čez meje imenikov) pa vsi delujejo v skladu z dokumentiranimi pravili glob.
Ključno pri tem je, da se poti preverjajo imenik za imenikom od korena navzdol, enako kot deluje gitov lastni mehanizem za prezrtje – ne pa s preizkušanjem celotne poti glede na vsako pravilo ločeno. To omogoča pravilno zaznavanje primera mrtve negacije: če je `dist/` prezrt v 3. vrstici in poznejši `!dist/keep.js` poskuša rešiti eno datoteko v njem, to orodje poroča, da je `dist/keep.js` še vedno prezrta, navede pravilo iz 3. vrstice kot razlog in ločeno označi negacijo kot zasenčeno, namesto da bi se tiho pretvarjalo, da je delovala.
Tabela rezultatov vsaki preizkušeni poti dodeli svojo vrstico z jasno razsodbo da/ne o prezrtju, natančnim besedilom pravila in številko vrstice, ki je odločila, ter – kadar je to ustrezno – opombo v preprostem jeziku, ki pojasni zasenčeno negacijo ali podedovano pravilo nadrejenega imenika. To je podrobnost, ki zmedeno datoteko .gitignore spremeni v nekaj, o čemer se lahko dejansko premišljujete, preden uveljavite spremembe.