Wie ignoriere ich Dateien, die Git bereits versioniert?

Ein Eintrag in .gitignore ändert keine Dateien, die bereits im Git-Index liegen. Entferne den Pfad aus dem Index und prüfe den entstehenden Commit sorgfältig.

Prüfen, ob die Datei erfasst wird

Prüfe, ob Git den Pfad bereits erfasst:

git ls-files -- path/to/file

Gibt Git den Pfad aus, wird die Datei erfasst. Ergänze eine passende Regel in der Projekt-.gitignore und entferne anschließend nur die Kopie im Index:

git rm --cached -- path/to/file

--cached behält die lokale Arbeitskopie. Prüfe git status und den vorgemerkten Diff vor dem Commit. Bei Teammitgliedern, die diesen Commit abrufen, kann die Datei aus dem Arbeitsverzeichnis entfernt werden. Stimme dich bei Bedarf mit ihnen ab.

Für ein Verzeichnis

Prüfe zunächst die konkret erfassten Pfade, bevor du die rekursive Variante verwendest:

git ls-files -- path/to/directory
git rm -r --cached -- path/to/directory

Wenn ein Geheimnis eingecheckt wurde

Das Entfernen eines Geheimnisses aus dem neuesten Stand löscht keine alten Versionen. Ersetze die offengelegten Zugangsdaten und folge den Vorfallhinweisen deines Hosting-Anbieters. Eine später ergänzte .gitignore-Regel hilft nur, versehentliche neue Einträge zu vermeiden.

Das genaue Verhalten und weitere Einzelheiten erläutern die offiziellen Quellen: GitHubs Anleitung zum Ausschließen von Dateien