0

Gitignore-Tester

Fügen Sie Ihre .gitignore-Regeln und eine Liste von Dateipfaden ein, um genau zu sehen, welche Dateien ignoriert werden, durch welche Regel und Zeile – und welche Negationen ins Leere laufen, weil das übergeordnete Verzeichnis bereits ignoriert wird.

🔒 Wird vollständig in Ihrem Browser verarbeitet – nichts, was Sie hier eingeben, wird jemals hochgeladen.

Verarbeitung... 0%
.gitignore-Regeln parsen
Dateipfade abgleichen
Fertig

Ergebnis

„Warum funktioniert meine .gitignore-Negation nicht?“ ist eine der häufigsten Git-Fragen – und die ehrliche Antwort ist fast immer dieselbe: Ein `!Muster`, das eine Datei in einem bereits ausgeschlossenen Verzeichnis wieder einschließen soll, kann niemals funktionieren, weil Git nicht in ignorierte Verzeichnisse hinabsteigt, um deren Inhalt erneut zu prüfen. Dieses Tool implementiert Gits echten .gitignore-Abgleichalgorithmus – keine Annäherung –, genau um diese Situation zu erkennen und zu erklären, zusammen mit jeder anderen von Git unterstützten Musterregel.

Fügen Sie Ihre .gitignore-Regeln in ein Feld und eine Liste von Dateipfaden (einen pro Zeile, z. B. `dist/index.js`, `node_modules/foo/bar.js` oder `.env`) ins andere ein, und das Tool wertet jeden Pfad exakt so aus, wie Git es tun würde: Kommentare und Leerzeilen werden übergangen, nachgestellte Leerzeichen entfernt (außer sie sind escapt), ein führendes `!` negiert eine Regel, ein führender `/` verankert sie an der Wurzel, sodass sie nicht in beliebiger Tiefe zutrifft, ein nachgestellter `/` beschränkt sie auf Verzeichnisse, und `*`, `?`, `[abc]`-Zeichenklassen sowie `**` (übergreift Verzeichnisgrenzen) funktionieren alle gemäß den dokumentierten Glob-Regeln.

Entscheidend ist, dass Pfade von der Wurzel aus Verzeichnis für Verzeichnis geprüft werden – genauso, wie Gits eigene Ignorieren-Engine arbeitet – und nicht, indem der vollständige Pfad isoliert gegen jede Regel getestet wird. Genau das ermöglicht die korrekte Erkennung des Falls wirkungsloser Negationen: Wenn `dist/` in Zeile 3 ignoriert wird und ein späteres `!dist/keep.js` eine Datei darin retten soll, meldet dieses Tool `dist/keep.js` weiterhin als ignoriert, nennt die Regel aus Zeile 3 als Grund und kennzeichnet die Negation separat als unwirksam, anstatt stillschweigend zu tun, als hätte sie funktioniert.

Die Ergebnistabelle widmet jedem getesteten Pfad eine eigene Zeile mit einem klaren Ja/Nein-Ignoriert-Urteil, dem exakten Regeltext und der Zeilennummer, die entschieden haben, und – wo relevant – einem verständlichen Hinweis, der eine unwirksame Negation oder eine vererbte Regel eines übergeordneten Verzeichnisses erklärt. Das ist die Detailtiefe, die eine verwirrende .gitignore in eine Datei verwandelt, über die Sie tatsächlich nachdenken können, bevor Sie committen.