1. Die passende Regel finden
Führen Sie diesen Befehl im Projektstamm aus und ersetzen Sie path/to/file durch den tatsächlichen Pfad einer unversionierten Datei:
git check-ignore -v -- path/to/fileDie ausführliche Ausgabe nennt Quelldatei, Zeilennummer und Muster. Die Quelle kann eine Projekt-.gitignore, .git/info/exclude oder eine globale Ausschlussdatei sein. Eine !-Regel schließt den Pfad wieder ein. Keine Ausgabe kann auch bedeuten, dass die Datei bereits versioniert ist; prüfen Sie das gesondert.
2. Die globale Ausschlussdatei ermitteln
Prüfen Sie den wirksamen Wert von core.excludesFile und die Konfigurationsdatei, die ihn festlegt:
git config --show-origin --get core.excludesFileKeine Ausgabe bei Exit-Status 1 bedeutet, dass diese Einstellung fehlt, nicht dass globale Ausschlüsse deaktiviert sind. Git liest auch die Standarddatei $XDG_CONFIG_HOME/git/ignore. Ist XDG_CONFIG_HOME nicht gesetzt oder leer, wird $HOME/.config/git/ignore verwendet. Beginnen Sie mit der von check-ignore gemeldeten Regelquelle.
3. Die richtige Regel ändern und erneut prüfen
Wählen Sie anhand der Ausgabe die richtige Datei: Gemeinsame Projektregeln gehören in .gitignore, persönliche Regeln nur für dieses Repository in .git/info/exclude und persönliche Regeln für mehrere Repositories in die globale Ausschlussdatei. Eine globale Änderung betrifft auch andere Repositories. Entfernen Sie nicht die gesamte Konfiguration wegen eines einzelnen Pfads. Projektregeln in .gitignore haben Vorrang vor .git/info/exclude und core.excludesFile. Eine Projektausnahme kann eine nachrangige Ausschlussregel überschreiben, sofern kein Elternverzeichnis ausgeschlossen bleibt. Prüfen Sie nach der Anpassung den tatsächlichen Pfad erneut:
git check-ignore -v -- path/to/file Warum bleibt eine Datei trotz ! in einem ignorierten Verzeichnis ausgeschlossen?
Das genaue Verhalten und weitere Einzelheiten erläutern die offiziellen Quellen: Git-Dokumentation · Dokumentation zu git check-ignore · Dokumentation zur Git-Konfiguration