Wie ignoriere ich .env und behalte .env.example?

Bei Projekten mit lokalen .env-Dateien können echte Werte außerhalb der Versionsverwaltung bleiben. Teilen Sie stattdessen eine geprüfte .env.example mit Platzhaltern. Prüfen Sie vor einer breiten Regel die Konventionen Ihres Frameworks.

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.local

Erscheinen 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.

Wie ignoriere ich Dateien, die Git bereits versioniert?

Das genaue Verhalten und weitere Einzelheiten erläutern die offiziellen Quellen: Git-Dokumentation · Offizielle Git-FAQ · GitHub-Anleitung für offengelegte sensible Daten