Monorepos und Git-Submodule
Lernen Sie die Unterschiede zwischen Monorepos und Multi-Repo-Setups kennen und erfahren Sie, wie Git-Submodule ein Repository in ein anderes einbetten.
Monorepos und Git-Submodule ist eine kostenlose Git & GitHub Professional Workflow-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Git & GitHub Professional Workflow-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.
Monorepo vs. Multi-Repo
Ein Monorepo speichert viele Projekte in einem Repository. Ein Multi-Repo-Setup hält jedes Projekt in einem eigenen Repository. Beide Ansätze sind bei großen Projekten üblich.
Warum Teams Monorepos wählen
Monorepos erleichtern es:
- Code zwischen Projekten zu teilen
- Grenzen übergreifend atomar zu refaktorieren
- eine gemeinsame CI und ein gemeinsames Versionsschema zu verwenden
Herausforderungen bei Monorepos
Große Monorepos können sehr umfangreich werden und dadurch Klone und CI verlangsamen. Tools wie Sparse Checkout und Build-Caches helfen bei der Verwaltung.
Was ist ein Submodul?
Ein Submodul ist ein separates Git-Repository, das bei einem bestimmten Commit in ein anderes Repository eingebettet ist. Das übergeordnete Repository speichert, welchen Commit des inneren Repositorys es verwenden soll.
Ein Submodul hinzufügen
Betten Sie mit git submodule add ein externes Repository unter einem bestimmten Pfad ein.
git submodule add https://github.com/org/shared-lib libs/sharedDie Datei .gitmodules
Git speichert den Pfad und die URL jedes Submoduls in einer versionierten Datei .gitmodules im Stammverzeichnis des Repositorys.
[submodule 'libs/shared']
path = libs/shared
url = https://github.com/org/shared-libKlonen mit Submodulen
Bei einem normalen Klon bleiben die Ordner der Submodule leer. Verwenden Sie das rekursive Flag, um sie ebenfalls abzurufen.
git clone --recurse-submodules https://github.com/org/appVorhandene Submodule initialisieren
Wenn Sie das Repository bereits geklont haben, rufen Sie die Inhalte der Submodule mit init und update ab.
git submodule update --init --recursiveEin Submodul aktualisieren
Submodule bleiben auf einen Commit festgelegt. Um zu einem neueren Stand zu wechseln, aktualisieren Sie das Submodul und committen Sie den neuen Verweis im übergeordneten Repository.
git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'Submodule vs. Subtree
git subtree ist eine Alternative, bei der der Inhalt eines anderen Repositorys direkt zusammengeführt wird. Dadurch entfällt die Komplexität festgelegter Verweise, allerdings geht die klare Trennung verloren.
Einen Ansatz auswählen
Verwenden Sie ein Monorepo für eng gekoppelte Projekte, Submodule zum Einbetten einer gemeinsam genutzten, aber unabhängig versionierten Bibliothek und mehrere Repositorys, wenn die Teams vollständig autonom arbeiten.
Kurzer Test
Testen Sie Ihr Verständnis von Monorepos und Submodulen.
Zusammenfassung
Sie haben Monorepos und Submodule kennengelernt:
- Monorepos zentralisieren viele Projekte, Multi-Repos trennen sie
- Submodule betten ein auf einen Commit festgelegtes Repository über
.gitmodulesein - Klonen Sie mit
--recurse-submodules - Subtree ist eine alternative Strategie zum Einbetten
Häufig gestellte Fragen
Ist die Lektion „Monorepos und Git-Submodule“ kostenlos?
Ja — der vollständige Text von „Monorepos und Git-Submodule“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Git & GitHub Professional Workflow-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Git & GitHub Professional Workflow-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Monorepos und Git-Submodule“?
Lernen Sie die Unterschiede zwischen Monorepos und Multi-Repo-Setups kennen und erfahren Sie, wie Git-Submodule ein Repository in ein anderes einbetten. Du übst Git & GitHub Professional Workflow mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Git & GitHub Professional Workflow zu starten?
Keine Vorkenntnisse erforderlich. Git & GitHub Professional Workflow auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Monorepos und Git-Submodule“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Git & GitHub Professional Workflow-Lektion Code schreiben und ausführen?
Ja. Jede Git & GitHub Professional Workflow-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Git in IDEs und Entwicklungstools
- Git-Lösungen für Unternehmen
- Git für große Teams skalieren
- Monorepos und Git-Submodule