1. Lokale Werte ausschließen und das Beispiel behalten
Diese Regeln in der zentralen .gitignore schließen .env und Dateien mit dem Präfix .env. im Projektstamm aus und lassen .env.example wieder zu. Namen wie service.env und Dateien in Unterverzeichnissen sind nicht abgedeckt.
Prüfen Sie .env.example vor dem Commit. Ein Beispielname garantiert keine sicheren Inhalte. Verwenden Sie Platzhalter und beschreiben Sie die benötigten Variablen.
/.env
/.env.*
!/.env.example 2. Alle drei Fälle prüfen
Legen Sie unversionierte .env, .env.local und .env.example an und prüfen Sie die passenden Regeln:
git check-ignore -v -- .env .env.local .env.example!/.env.example bedeutet, dass das Beispiel wieder eingeschlossen wird. Die Statusausgabe sollte es anzeigen und die zwei lokalen Wertedateien auslassen. Ein ausgeschlossenes Elternverzeichnis oder spätere Regeln können das Ergebnis verändern.
git status --short --untracked-files=all -- .env .env.local .env.example Warum bleibt eine Datei trotz ! in einem ignorierten Verzeichnis ausgeschlossen?
3. Bereits versionierte Werte behandeln
Prüfen Sie, ob Git eine der lokalen Wertedateien bereits versioniert:
git ls-files -- .env .env.localErscheinen Pfade, folgen Sie dem Artikel zu versionierten Dateien und stimmen Sie Änderungen im Team ab. Eine .gitignore entfernt keine vorhandenen Commits. Wurden Zugangsdaten offengelegt, widerrufen oder rotieren Sie sie zuerst und folgen Sie der GitHub-Anleitung für sensible Daten. Das Entfernen der aktuellen Datei löscht nicht den Verlauf.
Das genaue Verhalten und weitere Einzelheiten erläutern die offiziellen Quellen: Git-Dokumentation · Offizielle Git-FAQ · GitHub-Anleitung für offengelegte sensible Daten