Synchronisieren des gegabelten Repositorys mit gegabelten Submodulen und des ursprünglichen Repositorys mit ursprünglichen Submodulen

Lesezeit: 2 Minuten

Ich habe einen primären Entwicklungscomputer, auf dem ich an einem Projekt arbeite, das im GitLab-Repository gespeichert ist. Dieses Projekt verweist auf Submodule in einigen Repositories. Ich habe auch eine sekundäre Sandbox-Maschine, die nicht auf diese Repositories zugreifen kann. Um diese Computer zu synchronisieren, werde ich Spiegel aller erforderlichen Repositories auf dem sekundären Computer erstellen (ich kann von meinem primären Computer aus darauf zugreifen). Für das übergeordnete Projekt scheint es eine Lösung zu sein, das GitLab-Repository als Upstream und Mirror als Ursprung auf dem primären Computer festzulegen und zwischen zwei von ihnen und einer lokalen Kopie zu synchronisieren. Aber wie sieht es mit Submodulen aus? Ich möchte, dass das Repo des primären Computers mit normalen Submodul-Repos verknüpft wird, da es sich auf Upstream von GitLab befindet, und dass der sekundäre Computer gespiegelte Repos verwendet. Und immer wenn ich eine Submodul-Revision im Upstream ändere (um diese Änderungen an GitLab zu übertragen), möchte ich auch, dass Spiegel synchron werden und der übergeordnete Spiegel auf dem sekundären Spiegel korrekt auf neue Revisionen bei Submodul-Spiegeln verweist. Wie mache ich das? Was ist der cleverste Weg, Dinge einzurichten?

  • Dies sollte alles problemlos funktionieren, wenn Sie sicherstellen, dass Ihre Submodul-URLs relativ sind.

    – Johannis

    24. Juni 2021 um 17:46 Uhr

  • In meinem Projekt habe ich die Submodul-URL als ../otherrepo.git, wodurch Git auf demselben Server im selben Benutzerbereich nach dem Submodul sucht. Wenn ich also an einem Fork arbeite, empfange und pushe ich Submodul-Commits aus dem Fork-Bereich. Dasselbe gilt, wenn ich auf einem anderen Server arbeite.

    – Johannis

    24. Juni 2021 um 17:50 Uhr

Dies sollte einfach sein, wenn Sie relative Submodul-URLs verwenden.

In meinem Projekt habe ich die Submodul-URL als ../submodule.gitwodurch Git auf demselben Server im selben Benutzerbereich nach dem Submodul sucht.

Wenn ich an einem Fork arbeite, empfange und pushe ich Submodul-Commits aus dem Fork-Bereich.

Wenn ich an einem Klon arbeite, der sich auf einem anderen Server befindet, funktionieren Abrufen und Drücken für die Submodule alle auf demselben Klon.

Mein Anwendungsfall, in dem dies wirklich wichtig ist, war, als ich auf einen anderen Git-Server migrierte, ich musste nichts in der Submodulkonfiguration anpassen, und es wird auch in Ihrem Anwendungsfall funktionieren.

997150cookie-checkSynchronisieren des gegabelten Repositorys mit gegabelten Submodulen und des ursprünglichen Repositorys mit ursprünglichen Submodulen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy