Ich habe eine sehr lange Liste von Repos, die ich zu einem Eltern-Repo machen möchte, indem ich sie alle Submodule mache.
Ich habe versucht, sie zu .gitmodules
manuell hinzuzufügen, und auch zu .git/config
, aber es scheint nicht zu funktionieren.
Ich habe auch versucht, git submodule sync
und git submodule update --init
usw. auszuführen, aber ohne Erfolg.
Gibt es eine Möglichkeit, git zu glauben, dass mein Projekt alle (~ 30K) Submodule hat, ohne sie wirklich alle zu klonen?
Nach einem langen Spaziergang im Internet, habe ich herausgefunden, dass Sie erreichen können, was Sie wollen, indem Sie direkt in den Git-Index schreiben und den Dateityp "gitlink" erstellen.
%Vor% Vergessen Sie auch nicht, den Subrepo in .gitmodules
zu schreiben (meistens den externen Pfad angeben).
Gibt es eine Möglichkeit, git zu glauben, dass mein Projekt alle (~ 30K) Submodule hat, ohne sie wirklich alle zu klonen?
??? ~ 30K Submodule?
Versuchen Sie, alle Github-Repositories zu klonen?
Es macht keinen Sinn, so viele Submodule in einem einzigen Projekt zu haben.
Gibt es eine Möglichkeit, git zu glauben, dass mein Projekt all seine
hat?
Nein, das ist, wofür Submodule verwendet werden, um die Abhängigkeit von Dritten (kann auch deine sein) zu enthalten, die in einem eigenen Repository verwaltet wird.
Wie Sie im Image-Submodul sehen können, handelt es sich lediglich um ein Teilprojekt in Ihrem Projekt. Was Sie fragen, ist, wenn es git gibt, dass ich das Projekt habe, während wir es überhaupt nicht haben.
Es kann nicht gemacht werden.
Verwenden Sie einfach git add
.
Der Befehl git submodule
dient nur dazu, verschachtelte Repositories zu verwirren.
Manche Leute bevorzugen einfache Abstraktionen, die diktieren und einschränken, was mit beliebig komplizierten konkreten Implementierungen gemacht werden kann.
Git bevorzugt einfache Implementierungen, die dazu gemacht werden können, unbegrenzte, willkürliche Dinge zu tun, Abstraktionen auf ihre eigentliche Rolle als Assistenten zu reduzieren, Wege zu sprechen, was möglich ist. Zu versuchen, all die Dinge, die man mit einem Schnappschuss in die mit Scheuklappen versehene Zwangsjacke von vcs-Abstraktionen machen kann, anzupassen, ist verrückt. Ein Submodul ist nur eine kleine Referenz. "Setzen Sie die Spitze dieses Dag hier". Der Submodul-Befehl ist nur ein Werkzeug, das Ihnen hilft, eine Quelle für diesen Tag ausfindig zu machen und sie vor allen gewalttätigen Dingen zu schützen, die Sie täglich mit Ihrem schlecht überarbeiteten Dateisystem machen.
Tags und Links git git-submodules