Git und Geheimnis-Schutz
Vier Befehle genügen. Und ein Netz, das ein versehentlich committetes Geheimnis auffängt.
Arbeitsstand
Die Dateien, die Sie gerade ändern. Noch nichts festgehalten.
Vorgemerkt — git add -A
Was in den nächsten Speicherpunkt soll.
Festgehalten — git commit
Ein Speicherpunkt im Verlauf. Er ändert nichts an dem, was läuft — deshalb beliebig oft.
git push origin main bringt den Verlauf zu GitHub. Speichern. Passiert oft, ändert nichts live.
git push deploy main bringt denselben Stand zu Forgejo — und Coolify baut daraus die laufende Anwendung. Veröffentlichen. Passiert bewusst.
Die ganze Grafik auf einmal
git status # was habe ich geändert? git add -A # alles vormerken git commit -m "Beschreibung" # als Stand festhalten git log --oneline # welche Stände gab es?
Ein Commit ist ein Speicherpunkt — er ändert nichts an dem, was läuft. Deshalb dürfen Sie so oft committen, wie Sie wollen.
Pre-Commit-Haken aktivieren
git config core.hooksPath .githooks
Ab jetzt prüft eine Stufe immer (.env im Commit), eine zweite nur mit installiertem gitleaks (Muster, die wie Schlüssel oder Passwörter aussehen):
command -v gitleaks || brew install gitleaks
winget install Gitleaks.Gitleaks
Der Haken selbst ist ein Bash-Skript. Git für Windows führt ihn automatisch in der mitgelieferten Git Bash aus — Sie müssen nichts umstellen.
Die eine Regel für Geheimnisse
Ein Geheimnis steht in .env (lokal) oder später in Coolify (auf dem Server) — nie im Code, nie im Image, nie im Repository. Was einmal im Repository stand, steht in der Historie, auch nach dem Löschen.
WarumWarum ein Commit nichts verändert — und warum das befreiend ist
Die verbreitete Angst vor Git kommt daher, dass es wie ein Veröffentlichungswerkzeug aussieht. Es ist eines für Zwischenstände.
git commit schreibt einen Eintrag in die Historie im Ordner .git. Nichts verlässt den Rechner, nichts wird gestartet, niemand sieht etwas. Erst git push schickt etwas fort, und erst git push deploy löst ein Deployment aus — Modell 1, Kasten 2 gegen Kasten 6.
Daraus folgt die einzige Git-Gewohnheit, die man braucht: oft committen. Jeder Commit ist ein Punkt, zu dem man zurückkann. Wer selten committet, hat wenige Rückwege — nicht weniger Risiko.
TiefeWas passiert, wenn ein Geheimnis doch einmal committet wurde
Der Pre-Commit-Haken verhindert den häufigen Fall. Er verhindert nicht jeden — ein Schlüssel mitten in einer Konfigurationsdatei sieht für gitleaks nicht immer nach einem Schlüssel aus.
Ist es passiert, gilt in dieser Reihenfolge: Erstens den Schlüssel für ungültig erklären und neu erzeugen. Das ist der eigentliche Vorgang. Alles Weitere ist Aufräumen.
Zweitens die Historie umschreiben (git filter-repo oder ein neues Repository) — aber ohne die Illusion, damit sei der Schlüssel sicher: Wenn der Stand irgendwo geklont oder gespiegelt wurde, existiert er dort weiter. Deshalb ist Schritt eins nicht optional und Schritt zwei nicht hinreichend.