git Submodul fügt fatal hinzu: Kein Git Repository

8

Ich bin ziemlich neu in Git und versuche mein Bestes, um einige Dokumente zu diesem Problem zu finden, ohne Erfolg.

Hier ist mein Befehl:

%Vor%
  

fatal: Kein git-Repository: ../.git/modules/externalsource/JOliverEventStore       Das Submodul 'externalsource / JOliverEventStore' konnte nicht überprüft werden.

Ich bin in meinem root meines Repos und es gibt derzeit kein Verzeichnis für /externalsource/JO liverEventStore/ . Der Fehler spricht über ein Verzeichnis, das ich nicht kenne.

Wenn ich das Submodul wie folgt zum Root-Verzeichnis hinzufüge:

%Vor%

Ich habe kein Problem und es erstellt den Ordner im Stammverzeichnis.

Jede Einsicht würde sehr geschätzt werden.

    
Brandon Grossutti 06.04.2012, 20:18
quelle

1 Antwort

11

Das hängt von der Version von Git ab, die Sie verwenden: this letzten Thread (Februar 2012) erwähnt einen Fehler:

  

Seit kurzem hat ein Submodul mit dem Namen <name> sein Git-Verzeichnis im .git/modules/<name> -Verzeichnis des Superprojekts, während der Arbeitsbaum ein gitfile enthält, das dorthin zeigt.

     

Wenn dasselbe Submodul in einem Zweig hinzugefügt wird, in dem es bisher nicht vorhanden war (es wird nicht in der Datei .gitmodules gefunden), wird der Name nicht wie angegeben vom Pfad initialisiert.
  Dies führt zu einem falschen Pfad, der in gitfile eingegeben wurde, wenn das Verzeichnis .git/modules/<name> gefunden wurde, da dieser glücklich den - jetzt leeren - Namen verwendet.
  Es zeigt dann immer nur ein einzelnes Verzeichnis an, auch wenn wir einen tieferen Pfad in der Verzeichnishierarchie haben.

Im Allgemeinen wird jedoch das Argument <path> von git submodule verwendet:

  

<path> ist der relative Speicherort für das geklonte Submodul im Superprojekt.

     
  • Wenn <path> nicht existiert, wird das Submodul durch Klonen von der benannten URL erstellt.
  •   
  • Wenn <path> existiert und bereits ein gültiges Git-Repository ist, dann wird dies dem Änderungssatz ohne Klonen hinzugefügt.
      Dieses zweite Formular wird bereitgestellt, um das Erstellen eines neuen Submoduls von Grund auf zu erleichtern, und setzt voraus, dass der Benutzer das Submodul zu der angegebenen URL später verschiebt.
  •   

eoinoc erwähnt in den Kommentaren eine weitere Ursache, die in der Frage" git status gibt fatal: Not a git repository but .git exists and HEAD has proper permissions " zurück.

  

Der Speicherort meines Repos hatte sich geändert, und ich musste die Konfigurationsdateien von git aktualisieren.

    
VonC 07.04.2012, 09:36
quelle

Tags und Links