git meldet 'fatal: not a git repository (or any of the parent directories)'? Du bist im falschen Ordner oder .git fehlt. So kommst du zurück ins Repo.
Aufwand:
ca. 5 Min.
Das Symptom
Du willst nur eben git status, git add oder git commit ausführen – und git
kontert mit fatal: not a git repository (or any of the parent directories): .git. Kein Befehl geht mehr durch, obwohl du sicher bist, gerade in „deinem
Projekt“ zu sein.
Die „Layer 8“-Wahrheit
git ist an dieser Stelle erstaunlich simpel gestrickt: Es läuft vom aktuellen
Ordner immer weiter nach oben und sucht ein verstecktes .git-Verzeichnis. Erst
das macht einen Ordner zum Repository. Findet git bis ganz nach oben keines,
sagt es ehrlich: „Hier ist kein Projekt.“ In neun von zehn Fällen bist du
schlicht im falschen Verzeichnis – eine Ebene zu hoch, im Downloads-Ordner oder
im entpackten ZIP ohne .git. Der reflexhafte Griff zu git init ist dabei die
Falle: In einem bestehenden Projekt erzeugt er ein neues, leeres Repo und
kappt den Bezug zur echten Historie. Erst schauen, wo man steht – dann
entscheiden, ob wechseln, klonen oder wirklich neu anfangen.
Die echte, verifizierte Lösung
1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:
1.
Aktuelles Verzeichnis prüfen
Zuerst nachsehen, wo du überhaupt stehst und ob ein verstecktes .git existiert. Fehlt es hier und in allen übergeordneten Ordnern, ist das die ganze Ursache:
pwd
ls -la
2.
Ins richtige Projektverzeichnis wechseln
Der häufigste Fall: Du bist eine Ebene zu hoch oder im Nachbarordner. In den tatsächlichen Projektordner wechseln – dort, wo das .git liegt – und den Befehl erneut ausführen.
3.
Neues Projekt initialisieren
Soll hier ein frisches Repository entstehen, dieses anlegen. Danach ist der Ordner ein gültiges Git-Repository:
git init
4.
Bestehendes Projekt klonen
Gehört das Projekt zu einer Remote (GitHub, GitLab), holst du es mitsamt Historie per clone. Der Klon enthält das .git automatisch:
git clone <repo-url>
5.
Versehentlich gelöschtes .git erkennen
Fehlt das .git in einem Ordner, in dem es mal war, wurde es gelöscht oder das Projekt unvollständig kopiert. Existiert die Remote noch, ist ein sauberer Neuklon der zuverlässigste Weg zurück.
Häufige Fragen (FAQ)
?Was bedeutet 'not a git repository'?
git sucht ab dem aktuellen Ordner aufwärts nach einem versteckten .git-Verzeichnis. Findet es keines bis zum Dateisystem-Wurzelpunkt, weiß git schlicht nicht, welches Projekt gemeint ist. Der aktuelle Ordner ist dann (noch) kein Repository.
?Repariert 'git init' den Fehler immer?
Nur bei einem wirklich neuen Projekt. 'git init' legt ein frisches, leeres Repository an. Wolltest du an einem bestehenden Projekt arbeiten, ist git init falsch – dann bist du entweder im falschen Ordner oder musst das Repo erst klonen, sonst verlierst du den Bezug zur eigentlichen Historie.
Belege
Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.
git stoppt mit 'Your local changes would be overwritten by merge/checkout'? So rettest du deine Änderungen per commit oder stash, statt sie zu verlieren.