Wie ignoriere ich .DS_Store in allen Verzeichnissen?

Eine .DS_Store-Regel ohne führenden Schrägstrich erfasst diesen Namen auf allen Ebenen unterhalb der .gitignore. Zeigt Git weiterhin eine Änderung, prüfen Sie, ob die Datei bereits versioniert ist.

1. Eine Regel mit passender Reichweite ergänzen

Für eine gemeinsame Projektregel ergänzen Sie diese Zeile in der zentralen .gitignore. /.DS_Store würde nur die Kopie im Projektstamm erfassen. Für eine persönliche Einstellung über mehrere Repositories eignet sich die globale Ausschlussdatei.

.DS_Store

Warum wird eine Datei durch globale Git-Regeln ignoriert?

2. Ignorierte und versionierte Dateien unterscheiden

Prüfen Sie für unversionierte Beispielkopien, welche Regel auf den jeweiligen Pfad passt:

git check-ignore -v -- .DS_Store assets/.DS_Store

Prüfen Sie danach, ob diese konkreten Pfade bereits im Index stehen. check-ignore zeigt versionierte Dateien normalerweise auch im ausführlichen Modus nicht an. Eine passende Ausschlussregel beendet ihre Versionierung nicht.

git ls-files -- .DS_Store assets/.DS_Store

3. Die Versionierung einer konkreten Kopie beenden

Ist assets/.DS_Store bereits versioniert, prüfen Sie den Zustand und sichern Sie benötigte lokale Arbeit. Entfernen Sie dann nur diesen Indexeintrag:

git rm --cached -- assets/.DS_Store

Prüfen Sie die vorgemerkte Löschung vor dem Commit. --cached behält Ihre aktuelle lokale Kopie. Bei anderen Beteiligten kann die versionierte Kopie beim Abrufen des Lösch-Commits entfernt werden. Bearbeiten Sie nur geprüfte Pfade; vermeiden Sie pauschale Dateilöschungen oder den Neuaufbau des gesamten Index.

git diff --cached --name-status

Wie ignoriere ich Dateien, die Git bereits versioniert?

Das genaue Verhalten und weitere Einzelheiten erläutern die offiziellen Quellen: Git-Dokumentation · Dokumentation zu git rm · Dokumentation zu git check-ignore