Professionele Git- en GitHub-werkwijze · Les

Monorepo's en Git-submodules

Leer de afwegingen tussen monorepo's en multi-repo-opstellingen en hoe Git-submodules de ene repository in een andere opnemen.

Les 4 van 413 stappen

Monorepo's en Git-submodules is een gratis Professionele Git- en GitHub-werkwijze-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Professionele Git- en GitHub-werkwijze. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Monorepo versus multi-repo

Een monorepo bevat meerdere projecten in één repository. In een multi-repo-opzet staat elk project in zijn eigen repository. Beide komen op grote schaal vaak voor.

Waarom teams voor monorepo's kiezen

Met monorepo's kun je eenvoudig:

  • Code delen tussen projecten
  • Atomair over projectgrenzen heen herstructureren
  • Eén CI- en versiebeheerschema gebruiken

Uitdagingen van monorepo's

Grote monorepo's kunnen enorm worden, waardoor klonen en CI trager worden. Hulpmiddelen zoals sparse checkout en buildcaches helpen dit beheersbaar te houden.

Wat is een submodule?

Een submodule is een afzonderlijke Git-repository die bij een specifieke commit in een andere repository is opgenomen. De buitenste repository houdt bij welke commit van de binnenste repository moet worden gebruikt.

Een submodule toevoegen

Neem een externe repository op een bepaald pad op met git submodule add.

git submodule add https://github.com/org/shared-lib libs/shared

Het bestand .gitmodules

Git legt het pad en de URL van elke submodule vast in een bijgehouden bestand .gitmodules in de hoofdmap van de repository.

[submodule 'libs/shared']
  path = libs/shared
  url = https://github.com/org/shared-lib

Klonen met submodules

Bij een gewone kloon blijven de mappen van submodules leeg. Gebruik de recursieve vlag om ze ook op te halen.

git clone --recurse-submodules https://github.com/org/app

Bestaande submodules initialiseren

Als je al hebt gekloond, haal je de inhoud van de submodules op met init en update.

git submodule update --init --recursive

Een submodule bijwerken

Submodules blijven vastgezet op een commit. Als je naar de nieuwste versie wilt gaan, werk je de submodule daarin bij en leg je de nieuwe verwijzing vast in de bovenliggende repository.

git submodule update --remote libs/shared
git add libs/shared
git commit -m 'Bump shared lib'

Submodules versus subtree

git subtree is een alternatief waarbij de inhoud van een andere repository rechtstreeks wordt samengevoegd. Zo vermijd je de complexiteit van vastgezette verwijzingen, maar verlies je de duidelijke scheiding.

Een aanpak kiezen

Gebruik een monorepo voor projecten die sterk van elkaar afhankelijk zijn, submodules om een gedeelde bibliotheek met onafhankelijke versies op te nemen, en meerdere repositories wanneer teams volledig zelfstandig werken.

Korte test

Test je begrip van monorepo's en submodules.

Samenvatting

Je hebt geleerd over monorepo's en submodules:

  • Monorepo's centraliseren veel projecten; meerdere repositories houden ze gescheiden
  • Submodules nemen via .gitmodules een repository op die aan een specifieke commit is vastgezet
  • Kloon met --recurse-submodules
  • Subtree is een alternatieve manier om inhoud op te nemen
Gratis beginnen

Leer Professionele Git- en GitHub-werkwijze met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Monorepo's en Git-submodules” gratis?

Ja — de volledige tekst van “Monorepo's en Git-submodules” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Professionele Git- en GitHub-werkwijze wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Professionele Git- en GitHub-werkwijze bevat in totaal 4 lessen.

Wat leer ik in “Monorepo's en Git-submodules”?

Leer de afwegingen tussen monorepo's en multi-repo-opstellingen en hoe Git-submodules de ene repository in een andere opnemen. Je oefent met Professionele Git- en GitHub-werkwijze door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Professionele Git- en GitHub-werkwijze te beginnen?

Ervaring vooraf is niet nodig. Professionele Git- en GitHub-werkwijze op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Monorepo's en Git-submodules”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Professionele Git- en GitHub-werkwijze?

Ja. Elke les over Professionele Git- en GitHub-werkwijze bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Git in IDE's en ontwikkeltools
  2. Git-oplossingen voor ondernemingen
  3. Git schalen voor grote teams
  4. Monorepo's en Git-submodules
← Terug naar Professionele Git- en GitHub-werkwijze