it-swarm.com.de

Wie kann man "fatal: kein Git-Repository auflösen"?

Ich habe versucht, ein Submodul aus dem Projekt zu entfernen

Versucht rm -rf .git/modules/submodulePath  

Danach habe ich die Ausgabe

fatal: Kein Git Repository

17
coreDeviOS

Diese beiden Dateien enthalten den absoluten Submodulpfad:

{submodule}/.git
.git/modules/{submodule}/config

Wenn Sie also das Repo verschieben, ist der absolute Pfad in diesen beiden Dateien nicht gültig und es wird der Fehler "kein Repository" angezeigt. Fixieren Sie diese Dateien einfach manuell.

Update:

1.) Löschen Sie den entsprechenden Abschnitt aus der .gitmodules-Datei. Sie können den folgenden Befehl verwenden:

git config -f .gitmodules --remove-section "submodule.submodule_name"

2.) Bauen Sie die .gitmodules-Änderungen auf

git add .gitmodules

3.) Löschen Sie den entsprechenden Abschnitt aus .git/config. Sie können den folgenden Befehl verwenden:

git submodule deinit -f "submodule_name"

4.) Entfernen Sie den Gitlink (kein abschließender Schrägstrich):

git rm --cached path_to_submodule

5.) Bereinigen Sie die .git/modules:

rm -rf .git/modules/path_to_submodule

6.) Commit:

git commit -m "Removed submodule <name>"

7.) Löschen Sie die jetzt nicht mehr aufgespürten Submodul-Dateien

rm -rf path_to_submodule
21
Shivkumar kondi

Ich bin auf diesen Fehler gestoßen, nachdem ich ein Git-Repository in einen anderen Ordner verschoben habe. Als ich hineingeschaut habe:

{submodule}/.git

Ich habe eine einzelne Zeile mit einem absoluten Pfad gesehen, z.

gitdir: /Users/ajx/Documents/repo/.git/modules/{submodule}

Ich habe dies in einen relativen Pfad geändert, z.

gitdir: ../../.git/modules/{submodule}

Ich bin mir nicht sicher, warum git absolute Pfade hartcodieren würde ...

4
Alec Jacobson

Sie können die .git-Datei einfach aktualisieren

nano {mein submodul} /. git

mit dem richtigen gitdir. 

Weil ich denke, Sie ändern den Pfad Ihres Ordners

Ich bin auf dieses Thema gestoßen und hatte kein .git/modules-Verzeichnis in meinem Haupt-Repository. Ich habe ein Submodul 'build', also einfach alle Referenzen entfernt und neu initialisiert:

rm -rf .git/modules
rm -rf build
git submodule init
git submodule update
0
Jason Goemaat