Ich habe ein Submodul hinzugefügt:
%Vor% Eine Datei .gitmodules
wurde erstellt wie:
Und natürlich weiß Git davon:
%Vor%Ich habe ein Submodul von Hand hinzugefügt, zum Beispiel zu dieser Datei hinzufügen:
%Vor%Und ich habe den vorherigen Befehl wiederholt:
%Vor%Soweit ich sehen kann, wird das, was ich von Hand hinzugefügt habe, ignoriert. Gibt es eine Möglichkeit, Git die Zeilen bewusst zu machen, die von Hand in der .gitmodules Datei hinzugefügt wurden?
Hinweis: Ich habe auch versucht, die Zeilen von Hand in die Datei .git/config
einzufügen, und das hat auch nicht funktioniert.
Sie müssen
ausführen %Vor%UPDATE:
Der Submodul-Add-Befehl klont tatsächlich den gesamten Repo und fügt sha1 zum Index hinzu.
Dies kann ein neues Verhalten im Vergleich zu früheren Versionen von git sein, der Klon wurde nicht sofort gemacht.
Wenn Sie keinen Eintrag im Index haben, der das Modul auf ein bestimmtes Commit verweist, verweigert git submodule update alles. Dies scheint ein neues Verhalten zu sein.
Hoffe, das hilft.
Ok, also dank Adam fand ich die Antwort, war irgendwie offensichtlich, aber dennoch, hier ist es:
Wenn Sie überprüfen, was git submodule add
tut, werden Sie bemerken, dass es drei Dinge tut:
.gitmodules
-Datei die Zeilen hinzu, .git/config
hinzu. Im Grunde genommen besteht der einzige Unterschied zwischen einem Repo mit einem manuell hinzugefügten Submodul und dem über den Befehl git submodule
hinzugefügten Repo selbst.
Beantworten Sie das gleiche Beispiel wie folgt:
%Vor% Fügen Sie der .git/config
Datei *:
Stelle sicher, dass du sie wenigstens zum git-Repo hinzufügst:
%Vor%Und dann überprüfe, ob Git tatsächlich "bewusst" ist:
%Vor% * Beachten Sie, dass die Variable "path", die Sie in der Datei .gitmodules
verwenden, in dieser Datei nicht benötigt wird
Tags und Links git git-submodules