Station 02/Git und Geheimnis-Schutz·Vorschau
Station 02 · Code-Repository/Phase 1

Git und Geheimnis-Schutz

Vier Befehle genügen. Und ein Netz, das ein versehentlich committetes Geheimnis auffängt.

Git und der Geheimnis-SchutzVier Befehle — und ein Netz darunter1:30
Erst grob, dann genau.Drei Orte, an denen derselbe Stand liegen kann — mit sehr verschiedener Bedeutung.
Auf meinem Rechner1 von 3
1

Arbeitsstand

Die Dateien, die Sie gerade ändern. Noch nichts festgehalten.

2

Vorgemerkt — git add -A

Was in den nächsten Speicherpunkt soll.

3

Festgehalten — git commit

Ein Speicherpunkt im Verlauf. Er ändert nichts an dem, was läuft — deshalb beliebig oft.

Fernkopie „origin“2 von 3

git push origin main bringt den Verlauf zu GitHub. Speichern. Passiert oft, ändert nichts live.

Fernkopie „deploy“3 von 3

git push deploy main bringt denselben Stand zu Forgejo — und Coolify baut daraus die laufende Anwendung. Veröffentlichen. Passiert bewusst.

Zwei Adressen für denselben Verlauf. Wer sie zusammenlegt, kann keinen Zwischenstand mehr sichern, ohne ihn zu veröffentlichen.
Die ganze Grafik auf einmal
Was Git eigentlich tutArbeitsstand, Vormerkung, Verlauf — und zwei Fernkopien mit sehr verschiedener Bedeutung
AUF IHREM RECHNERArbeitsstandIhre ÄnderungenVorgemerktgit add -AFestgehaltengit commitDER VERLAUF — jeder Punkt ein SpeicherpunktStartFachlogikDockerfilePrüfung grünjetztZWEI FERNKOPIENoriginGitHub — die Heimatgit push origin → gespeichertdeployForgejo — der Auslösergit push deploy → veröffentlicht
Terminal
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.

Wo ein Geheimnis leben darfZwei erlaubte Orte, ein verbotener
.env auf Ihrem Rechnernur lokal, nie committetsteht in .gitignoreCoolify auf dem ServerUmgebungsvariablenverschlüsselt gespeichertRepository / Imageauch nach dem Löschenbleibt es in der HistorieDie eine Regel:Ein Geheimnis steht in .env (lokal) oder in Coolify (Server) —nie im Code, nie im Image, nie im Repository.
1

Pre-Commit-Haken aktivieren

Terminal
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):

Terminal
command -v gitleaks || brew install gitleaks
PowerShell
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.

2

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.

Zugang erhalten
Fortschritt merken?Mit Zugang bleiben Häkchen und erledigte Phasen am Konto — auf jedem Gerät.