Profesjonell arbeidsflyt med Git og GitHub · leksjon

Monorepoer og Git-submoduler

Lær om avveiningene mellom monorepoer og oppsett med flere repositorier, og hvordan Git-submoduler bygger inn ett repositorium i et annet.

Leksjon 4 av 413 trinn

Monorepoer og Git-submoduler er en gratis leksjon i Profesjonell arbeidsflyt med Git og GitHub på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Profesjonell arbeidsflyt med Git og GitHub, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Monorepo kontra multi-repo

Et monorepo lagrer mange prosjekter i ett repo. Et multi-repo-oppsett holder hvert prosjekt i sitt eget repo. Begge deler er vanlig i stor skala.

Hvorfor team velger monorepoer

Monorepoer gjør det enkelt å:

  • Dele kode på tvers av prosjekter
  • Refaktorere atomisk på tvers av grenser
  • Bruke én CI- og én versjoneringsordning

Utfordringer med monorepoer

Store monorepoer kan bli enorme og gjøre kloning og CI tregere. Verktøy som sparse checkout og byggecacher gjør det enklere å håndtere dette.

Hva er en submodul?

En submodul er et separat Git-repo som er innebygd i et annet repo ved en bestemt commit. Det overordnede repoet holder rede på hvilken commit i det innebygde repoet som skal brukes.

Legge til en submodul

Bygg inn et eksternt repo på en bestemt sti med git submodule add.

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

Filen .gitmodules

Git registrerer hver submodules sti og URL i en sporet .gitmodules-fil i roten av repoet.

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

Klone med submoduler

En vanlig kloning lar mappene for submodulene være tomme. Bruk det rekursive flagget for å hente dem også.

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

Initialisere eksisterende submoduler

Hvis du allerede har klonet repoet, henter du innholdet i submodulene med init og update.

git submodule update --init --recursive

Oppdatere en submodul

Submoduler forblir låst til en commit. Hvis du vil flytte den til den nyeste versjonen, oppdaterer du den inne i submodulen og committer den nye pekeren i det overordnede repoet.

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

Submoduler kontra subtree

git subtree er et alternativ som slår sammen innholdet fra et annet repo direkte. Det unngår kompleksiteten med en låst peker, men du mister den tydelige separasjonen.

Velge en tilnærming

Bruk et monorepo for tett koblede prosjekter, submoduler for å bygge inn et delt bibliotek som versjoneres uavhengig, og flere repoer når teamene er helt selvstendige.

Hurtigsjekk

Test forståelsen din av monorepoer og submoduler.

Oppsummering

Du har lært om monorepoer og submoduler:

  • Monorepoer sentraliserer mange prosjekter, mens flere repoer holder dem adskilt
  • Submoduler bygger inn et repo som er låst til en commit via .gitmodules
  • Klone med --recurse-submodules
  • Subtree er en alternativ strategi for innbygging
Gratis å komme i gang

Lær deg Profesjonell arbeidsflyt med Git og GitHub med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Monorepoer og Git-submoduler» gratis?

Ja – hele teksten i «Monorepoer og Git-submoduler» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Profesjonell arbeidsflyt med Git og GitHub-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Hva lærer jeg i «Monorepoer og Git-submoduler»?

Lær om avveiningene mellom monorepoer og oppsett med flere repositorier, og hvordan Git-submoduler bygger inn ett repositorium i et annet. Du øver på Profesjonell arbeidsflyt med Git og GitHub med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Profesjonell arbeidsflyt med Git og GitHub?

Ingen tidligere erfaring er nødvendig. Profesjonell arbeidsflyt med Git og GitHub på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Monorepoer og Git-submoduler»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Profesjonell arbeidsflyt med Git og GitHub-leksjonen?

Ja. Alle Profesjonell arbeidsflyt med Git og GitHub-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Git i IDE-er og utviklingsverktøy
  2. Git-løsninger for virksomheter
  3. Skalere Git for store team
  4. Monorepoer og Git-submoduler
← Tilbake til Profesjonell arbeidsflyt med Git og GitHub