"Schwerwiegend: Kein Git-Repository (oder eines der übergeordneten Verzeichnisse)" aus dem Git-Status


99

Dieser Befehl dient zum Abrufen und Kompilieren der Dateien:

git clone a-valid-git-url

beispielsweise:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Allerdings git status(oder jeder anderer git Befehl) , dann gibt die obigen fatal: Not a git repository (or any of the parent directories)Fehler.

Was mache ich falsch?


6
Der ausgecheckte Code befindet sich im liggghtsVerzeichnis.
Eugen Constantin Dinca

Antworten:


161

Sie müssen tatsächlich zuerst in das Verzeichnis cd:

$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts
Cloning into 'liggghts'...
remote: Counting objects: 3005, done.
remote: Compressing objects: 100% (2141/2141), done.
remote: Total 3005 (delta 1052), reused 2714 (delta 827)
Receiving objects: 100% (3005/3005), 23.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (1052/1052), done.

$ git status
fatal: Not a git repository (or any of the parent directories): .git
$ cd liggghts/
$ git status
# On branch master
nothing to commit (working directory clean)

1
Sie erhalten diesen Fehler auch, wenn git sein eigenes .git-Verzeichnis verschließt. Ich zog und sah die Meldung "Das Repository wird automatisch im Hintergrund gepackt, um eine optimale Leistung zu erzielen." Ich habe dann versucht, weitere Operationen durchzuführen, wobei nur die Fehlermeldung von OP angezeigt wurde. Mein .git-Ordner ist noch da, aber git hat ihn irgendwie beschädigt. Durch Ausführen wurde git initdas Problem behoben.
Cerin

Wie dumm ich bin. Ich versuche den Git-Status, bevor ich in das Verzeichnis gehe :) Vielen Dank.
webHasan

12

Ich habe gerade diese Nachricht erhalten und es gibt eine sehr einfache Antwort, bevor ich es mit den anderen versuche. Geben Sie im übergeordneten Verzeichnis Folgendes eingit init

Dadurch wird das Verzeichnis für git initialisiert. Dann git addund git commitsollte funktionieren.


Vor oder nach dem Klon? Würde dies ein neues Git-Repo schaffen? Wie würde dies mit dem vorhandenen Git-Repo und der geklonten Geschichte funktionieren? Was passiert mit der ursprünglichen remoteEinstellung unter dieser Anordnung?
Michael Durrant

11

In meinem Fall war eine Umgebungsvariable GIT_DIR, die ich hinzugefügt habe, um schneller darauf zuzugreifen.

Dies hat auch alle meine lokalen Repos in SourceTree zerstört :(


5

Manchmal liegt es an ssh. Sie können dies also verwenden:

git clone https://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

anstatt:

git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/liggghts

Ich habe den Fehler erhalten, als ich versucht habe, ein Repo auf meinen lokalen Computer zu klonen. Ich habe mit https: // TO git: // von FROM gewechselt und es wurde erfolgreich geklont. Danke, dass du mich in die richtige Richtung gelenkt hast.
Scott Wade

4

In meinem Fall hatte ich das gleiche Problem, als ich alle git - Befehle (z. B. git status) mit Windows cmd ausprobierte. Nachdem ich git für das Fenster https://windows.github.com/ in den Umgebungsvariablen installiert habe , füge den Klassenpfad des gits in die Variable "PATH" ein. Normalerweise wird der Git installiert, C:/user/"username"/appdata/local/git/binwenn dies auf dem PATH in der Umgebungsvariablen hinzugefügt wird

und eine weitere Sache auf dem cmd gehen Sie zu Ihrem Git-Repository oder Ihrer CD, wo sich Ihr Klon in Ihrem Fenster befindet. Normalerweise werden sie in den Dokumenten unter Github gespeichert

cd Document/Github/yourproject

Danach können Sie beliebige Git-Befehle haben


3

Ich hatte ein anderes Problem. Ich war in einem Git-Verzeichnis, bin aber über einen Symlink dorthin gekommen. Ich musste direkt in das Verzeichnis gehen (dh nicht über den Symlink), dann funktionierte es einwandfrei.


3
git clone https://github.com/klevamane/projone.git
Cloning into 'projone'...
remote: Counting objects: 81, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 81 (delta 13), reused 78 (delta 13), pack-reused 0
Unpacking objects: 100% (81/81), done.

Sie müssen "CD projone"

dann können Sie den Status überprüfen.


Ein Grund, warum dies zunächst schwer zu bemerken war, war, dass Sie bereits auf Ihrem Computer einen Ordner mit demselben Namen erstellt haben und dort das Projekt geklont haben, sodass Sie das Verzeichnis erneut wechseln müssen



3

Dieser Fehler wurde behoben, als ich versuchte, das Git mit Git Init zu initialisieren . Es funktionierte


2

In meinem Fall war das ursprüngliche Repository ein nacktes.

Also musste ich (in Windows) tippen:

mkdir   dest
cd dest
git init
git remote add origin a\valid\yet\bare\repository
git pull origin master

So überprüfen Sie, ob ein Repository leer ist:

git rev-parse --is-bare-repository 

1

Nachdem Sie das Repo geklont haben , müssen Sie einfach eine CD (ändern Sie Ihr aktuelles Verzeichnis) in den neuen geklonten Ordner verschieben

git clone https://User_Name@bitbucket.org/Repo_Name.git

cd Repo_Name

1

Wenn für die vorhandene Projektlösung geplant ist, TSF in VS-Code zu verschieben:

Öffnen Sie das Terminal und führen Sie die folgenden Befehle aus:

  1. Initialisiere git in diesem Ordner (Stammverzeichnis)

    git init

  2. In Git

    git add .

  3. Verknüpfen Sie Ihren TSf / Git das Projekt - {url} ersetzen mit git - Adresse

    git remote add origin {url}

  4. Übernehmen Sie diese Änderungen:

    git commit -m "initial commit"

  5. Push - Ich habe Code als Version 1 gepusht. Sie können einen beliebigen Namen für Ihre Niederlassung verwenden

    git push origin HEAD:Version1


0

Ich bekam plötzlich einen Fehler wie in jedem Verzeichnis, in dem ich versucht habe, einen Git-Befehl auszuführen:

fatal: Not a git repository: /Users/me/Desktop/../../.git/modules/some-submodule

Für mich stellte sich heraus, dass ich .gitauf meinem Desktop eine versteckte Datei mit dem Inhalt hatte:

gitdir: ../../.git/modules/some-module

Diese Datei entfernt und behoben.


0

Ich habe das gleiche Problem von meinem Büronetzwerk. Ich benutze diesen Befehl, aber es funktioniert nicht für mich URL, also so: vor $ git clone https://gitlab.com/omsharma/Resume.git

Nachdem ich diese URL verwendet habe: $ git clone https://my_gitlab_user@gitlab.com/omsharma/Resume.git versuchen Sie es.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.