0

Tester Gitignore

Lipiți regulile dvs. .gitignore și o listă de căi de fișiere pentru a vedea exact ce fișiere sunt ignorate, după ce regulă și linie exacte și care reguli de negație sunt moarte în tăcere deoarece un director părinte este deja ignorat.

Buy Me a Coffee at ko-fi.com
Procesare... 0%
Analizarea regulilor .gitignore
Căi de fișiere potrivite
Gata

Rezultat

„De ce nu funcționează negația mea .gitignore?” este una dintre cele mai frecvente întrebări git care există, iar răspunsul sincer este aproape întotdeauna același: un `!pattern` care încearcă să re-include un fișier într-un director pe care o regulă anterioară îl exclude deja nu poate funcționa niciodată, deoarece git nu coboară în directoare ignorate pentru a verifica din nou ceva din ele. Acest instrument reimplementează algoritmul real de potrivire .gitignore al git - nu o aproximare - în mod specific, astfel încât să poată surprinde și explica exact acea situație, împreună cu orice altă regulă de model suportată de git.

Lipiți regulile dvs. .gitignore într-o singură casetă și o listă de căi de fișiere (una pe linie, cum ar fi `dist/index.js`, `node_modules/foo/bar.js`, sau `.env`) în cealaltă, iar instrumentul evaluează fiecare cale exact așa cum ar face git: comentariile și liniile goale sunt sărite, iar spațiile fără scăpare sunt eliminate! regulă, un `/` de început îl ancorează la rădăcină în loc să-l lase să se potrivească la orice adâncime, un `/` final îl restricționează la directoare și `*`, `?`, `[abc]` clasele de caractere și `**` (potrivire peste granițele directoarelor) toate funcționează conform regulilor glob documentate.

În mod critic, căile sunt verificate director cu director de la rădăcină în jos, la fel cum funcționează propriul motor de ignorare al lui git - nu testând calea completă împotriva fiecărei reguli izolate. Acesta este ceea ce face posibilă detectarea corectă a cazului de dead-negation: dacă `dist/` este ignorat pe linia 3 și un ulterior `!dist/keep.js` încearcă să salveze un fișier din interiorul acestuia, acest instrument raportează `dist/keep.js` ca fiind încă ignorat, numește regula linie-3 drept motiv și, separat, pretinde că a funcționat silențios, mai degrabă arătând-o.

Tabelul de rezultate oferă fiecărei căi testate propriul rând cu un verdict clar ignorat da/nu, textul exact al regulii și numărul rândului care au decis-o și, ori de câte ori este relevant, o notă în limbaj simplu care explică o negație umbrită sau o regulă moștenită din directorul părinte. Acesta este detaliul care transformă un .gitignore confuz într-unul despre care vă puteți gândi de fapt înainte de a comite.