Beim Versuch, ein Git-Repository aus der Ferne hinzuzufügen, wird „fatal: Not a git repository“ empfangen

Lesezeit: 6 Minuten

Coreys Benutzeravatar
Corey

Ich folge dieses Tutorial. Alles funktioniert gut, bis ich dies auf meinem lokalen Computer ausführe (nach dem Ersetzen der $VARIABLEs mit ihren tatsächlichen Werten):

git remote add nfsn ssh://$USERNAME@$SERVER/home/private/git/$REPONAME.git

Ich erhalte folgende Fehlermeldung:

fatal: Kein Git-Repository (oder eines der übergeordneten Verzeichnisse): .git

Wie komme ich über diesen Schritt hinaus?

  • git init Stellen Sie aber auch sicher, dass keines Ihrer Unterverzeichnisse ein eigenes hat .git Mappe

    – James Oravec

    14. Dezember 2015 um 17:44 Uhr

Sie erhalten diesen Fehler, wenn Sie versuchen, einen Git-Befehl zu verwenden, wenn sich Ihr aktuelles Arbeitsverzeichnis nicht in einem Git-Repository befindet. Das liegt daran, dass Git standardmäßig nach a sucht .git Repository-Verzeichnis (innerhalb des Projektstammverzeichnisses?), Wie in meiner Antwort auf „Git will not show log when I am in the project directory“ gezeigt wird:

Laut offizielle Git-Dokumentation zum Linux-Kernel,
GIT_DIR ist [an environment variable] suche nach a .git Verzeichnis (im aktuellen Arbeitsverzeichnis?) standardmäßig:

Wenn die GIT_DIR Umgebungsvariable festgelegt ist, gibt sie einen Pfad an, der anstelle des Standardpfads verwendet werden soll .git für die Basis des Repositorys.

Sie müssen entweder cd in das Repository/die Arbeitskopie, oder Sie haben kein Repository initialisiert oder geklont. In diesem Fall müssen Sie ein Repo in dem Verzeichnis initialisieren, in dem Sie das Repo platzieren möchten:

git init

oder klonen Sie ein Repository

git clone <remote-url>
cd <repository>

  • +1 für die Erwähnung von GIT_DIR. Innerhalb von Hooks in einem Bare-Repo ist GIT_DIR auf „.“ gesetzt. statt ‘.git’.

    – Gemeiner Hecht

    6. September 2014 um 11:40 Uhr

  • +1 für git init. Nachdem ich Ihre Antwort gelesen hatte, habe ich dies mehrmals in Repositories verwendet, die ich tat Klonen, wurden aber nicht erkannt. Es scheint also sicher zu sein, wenn es von einem Verzeichnisbaum ausgeführt wird, der ein sein soll git repositoryhat alle Dateien im Git-Verzeichnis, behauptet aber, dies nicht zu sein fatal: Not a git repository (or any parent up to mount point

    – ElderDelp

    29. Dezember 2017 um 19:03 Uhr

  • @commonpike in der Tat: Mein Hook hat deswegen nicht funktioniert, ich wollte ein anderes Repo ziehen, als etwas in mein bloßes Repo geschoben wurde. Ich musste GIT_DIR auf “…/.git” setzen

    – Rambi

    15. Juni 2021 um 10:35 Uhr

  • Meine HEAD-Datei war aus irgendeinem Grund beschädigt, also musste ich sie wiederherstellen und das Problem beheben

    – Stefan

    20. Dezember 2018 um 12:16 Uhr


  • Du bist ein toller Kumpel. Eine Tonne meiner Zeit gespart

    – Vaibhav Sah

    24. Januar 2019 um 13:09 Uhr

  • Ich hatte Visual Studio während einer Git-Rebase geöffnet und Visual Studio bemerkte eine Dateiänderung und kurz darauf hatte ich einen Blue Screen of Death. Nach dem Neustart war .git/HEAD mit NULLEN gefüllt und als ich sie durch einen vollständigen Hash (5621afeffbabed40e3f386676068c45643644b7d) ersetzte, der irgendwo wie .git\refs\remotes\origin\master gelesen wurde, fing git wieder an zu arbeiten, ich brauchte auch stackoverflow.com/questions /1115854/… da dies mir sagte, ich solle .git/index löschen und ich musste .git/index.lock entfernen, bevor ich git reset durchführte. Gut jetzt

    – Iwan

    8. März 2019 um 11:28 Uhr

  • Ich verlor fast die Hoffnung, meine Arbeit zurückzubekommen. Ich kopiere einfach Ihre Lösung und füge sie ein und es hat gezaubert. Vielen Dank

    – Mukesh Kumar

    26. Oktober 2019 um 19:26 Uhr

  • Das war bei mir auch das Thema. Ich hatte auch lokale Änderungen an vielen Dateien, was mir einige zusätzliche Arbeit erspart hat. Vielen Dank!

    – Ady Moldo

    25. November 2020 um 8:12 Uhr

HINWEIS: Dies beantwortet nicht das allgemeine Problem, das das Problem von OP war, sondern ein anderes Problem, bei dem diese Fehlermeldung auftreten kann. Ich hatte keine Lust, eine neue Frage zu stellen, nur um diese Antwort aufzuschreiben, sagen Sie mir, ob ich das stattdessen tun soll: P

Ich kam in die Situation, höchstwahrscheinlich aufgrund einer Beschädigung eines bestimmten Absturzes, den ich hatte, dass ich diesen Fehler bekam, selbst wenn .git existierte.

smar@aaeru ~/P/Nominatim> git status
fatal: Not a git repository (or any of the parent directories): .git
smar@aaeru ~/P/Nominatim [128]> ls .git
COMMIT_EDITMSG  config*  FETCH_HEAD  HEAD  index  logs/  modules/  objects/  ORIG_HEAD packed-refs

Da ich nichts hatte, was wirklich konserviert werden musste, ging ich einfach auf den Dummy-Weg und tat …

smar@aaeru ~/P/Nominatim [128]> git init
Reinitialized existing Git repository in /home/smar/Projektit/Nominatim/.git/

Funktioniert aber immer noch nicht, wie zB git log kehrt zurück fatal: bad default revision 'HEAD'. Fernbedienungen war dort aber, also tat ich es git fetch --all und dann eben git reset --hard origin/master um mich in den Zustand zu bringen, in dem sich das Repo zuvor befand.

Beachten Sie, dass Sie einige nicht festgeschriebene Änderungen mit sehen können git status, git diff usw. Dann einfach git diff yourfile > patch bevor Sie den Reset ausführen.

Zumindest für mich reflog (git reflog) vollständig verschwunden. Wenn Sie also das Zurücksetzen durchführen und es einige Änderungen gab, die Sie verhindern wollten, bin ich mir nicht sicher, ob Sie sie nach dem Zurücksetzen wiederherstellen können. Stellen Sie also sicher, dass Sie alle Änderungen gesichert haben, die Sie nicht verlieren können, indem Sie letztendlich einfach den Klon kopieren, bevor Sie dies versuchen.

  • Ich habe das Problem. Und habe es auf die von @Smar erwähnte Weise versucht, aber das gleiche Ergebnis “tödlich …”. Also, was als nächstes zu tun? irgendein Vorschlag?

    – Aaron

    31. Oktober 2018 um 2:43 Uhr

  • Dieses Problem trat bei der Verwendung von Visual Studio auf, git init und git fetch --all habe das Problem behoben.

    – Morse

    9. November 2018 um 22:18 Uhr

  • Es sieht so aus, als wäre das Problem lange her, aber es passiert immer noch. Ich habe VS 2022 verwendet, um Projekte auf neuere .Net – 4.7.2 und plötzlich zu aktualisieren git Befehle funktionieren nicht mehr. Die .git Ordner war dabei. Und verwenden git init und git fetch --all das Problem behoben. Eine andere Sache, die das Problem verursachen könnte, ist, dass ich mich in einem Zweig befand, der auf der Fernbedienung zusammengeführt/gelöscht wurde.

    – Michkow

    29. Juli 2022 um 12:23 Uhr

Benutzeravatar von IsaacS
IsaacS

Dieses Problem trat bei mir auf, nachdem ich den Speicherort eines Git-Projekts im Dateisystem verschoben hatte. Als ich einige Git-Befehle ausführte, trat der Fehler auf, z.

$ git status
fatal: Not a git repository: /home/rospasta/path_old/gitprojecta/.git/modules/.travis

Ich fand in /home/rospasta/path_old/gitprojecta/.travis/.git Der absolute Pfad des alten Speicherorts des Projekts wurde geschrieben. Das manuelle Aktualisieren dieses Pfads des neuen Speicherorts löste das Problem für mich.

Mein Problem kann also ein Git-Problem sein oder auch nicht, aber HTH.

  • Ich habe das Problem. Und habe es auf die von @Smar erwähnte Weise versucht, aber das gleiche Ergebnis “tödlich …”. Also, was als nächstes zu tun? irgendein Vorschlag?

    – Aaron

    31. Oktober 2018 um 2:43 Uhr

  • Dieses Problem trat bei der Verwendung von Visual Studio auf, git init und git fetch --all habe das Problem behoben.

    – Morse

    9. November 2018 um 22:18 Uhr

  • Es sieht so aus, als wäre das Problem lange her, aber es passiert immer noch. Ich habe VS 2022 verwendet, um Projekte auf neuere .Net – 4.7.2 und plötzlich zu aktualisieren git Befehle funktionieren nicht mehr. Die .git Ordner war dabei. Und verwenden git init und git fetch --all das Problem behoben. Eine andere Sache, die das Problem verursachen könnte, ist, dass ich mich in einem Zweig befand, der auf der Fernbedienung zusammengeführt/gelöscht wurde.

    – Michkow

    29. Juli 2022 um 12:23 Uhr

Benutzeravatar von der_michael
der_michael

$ git status
fatal: Not a git repository:

Geben Sie einfach Folgendes in Ihre cmd- oder Git-Shell oder ein anderes Terminal ein:

$ git init

1441150cookie-checkBeim Versuch, ein Git-Repository aus der Ferne hinzuzufügen, wird „fatal: Not a git repository“ empfangen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy