Introduktion till Git Submodules
Förstå vad Git Submodules är, deras användningsområden och när de är en lämplig lösning för att hantera beroenden.
Introduktion till Git Submodules är en gratis lektion i Avancerad Git: monorepon, submoduler och arbetsflöden på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Avancerad Git: monorepon, submoduler och arbetsflöden, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Avancerad Git: monorepon, submoduler och arbetsflöden innehåller totalt 4 lektioner.
Välkommen till submoduler
Vad är Git Submodules? De låter dig bädda in ett Git-repositorium i ett annat som en underkatalog. Det är som att ha ett separat projekt inuti huvudprojektet, men ändå hantera det självständigt.
Varför använda submoduler?
Föreställ dig att ditt projekt behöver ett specifikt bibliotek eller en komponent som utvecklas och underhålls separat. I stället för att kopiera koden kan du använda en submodul.
- Leverantörskod: Inkludera tredjepartsbibliotek.
- Delade komponenter: Återanvändbar kod i flera projekt.
- Plugin-system: Modulindela delar av en större applikation.
Ett repo i ett annat repo
En submodul är inte bara en mapp med filer. Det är en pekare till en specifik commit i ett annat Git-repositorium. Ditt huvudprojekt håller reda på vilken commit från submodulen som ska användas.
Det innebär att huvudprojektet inte hanterar submodulens innehåll direkt, utan snarare dess referens.
Så håller Git reda på submoduler
Git lagrar submoduler som en särskild post i huvudrepositoriets index. Posten innehåller submodulens sökväg, URL:en till dess fjärrrepo och den specifika commit-hash som den för närvarande pekar på.
När du klonar ett projekt med submoduler ser du först tomma kataloger tills du initierar och uppdaterar dem.
Submodulens självständiga liv
Varje submodul är ett eget fristående Git-repositorium. Du kan klona det, byta gren, skapa commits och pusha dem, helt oberoende av moderrepositoriet.
Denna isolering är viktig när du hanterar externa beroenden utan att slå samman deras historik med huvudprojektet.
Vanliga användningsområden
Submoduler passar utmärkt för:
- Stabila beroenden: När du behöver en specifik version av ett externt bibliotek och inte vill att det ska ändras oväntat.
- Stora komponenter: Dela upp ett monolitiskt projekt i mindre, hanterbara delar som versionshanteras oberoende av varandra.
- Bidrag till öppen källkod: Integrera externa verktyg eller ramverk utan att underhålla deras källkod direkt.
När submoduler är särskilt användbara
De är särskilt användbara när:
- Du behöver följa en specifik version av ett beroende, inte bara den senaste.
- Beroendet hanteras av ett annat team eller projekt.
- Du vill hålla beroendets historik åtskild från huvudprojektets historik.
Filen .gitmodules
När du lägger till en submodul skapar Git en särskild konfigurationsfil i roten av ditt huvudrepositorium: .gitmodules.
Filen lagrar kopplingen mellan submodulens lokala sökväg och dess fjärr-URL. Den versionshanteras, så att alla som klonar ditt projekt känner till dess submoduler.
[submodule "library"]
path = lib/my-library
url = https://github.com/user/my-library.gitSubtree jämfört med submodul (kortfattat)
Submoduler är användbara, men det finns alternativ. Ett anmärkningsvärt alternativ är Git Subtree.
Submoduler håller beroendets historik åtskild, medan Git Subtree integrerar beroendets historik direkt i ditt huvudrepositorium. Vi går igenom Subtree i en senare lektion!
Snabbtest om submoduler
Nu kontrollerar vi din förståelse av Git-submoduler.
Sammanfattning: Introduktion till submoduler
Vi har introducerat Git-submoduler och sett dem som ett sätt att bädda in självständiga Git-repositorier i ditt huvudprojekt.
- De följer specifika commits i externa repos.
- De löser problem med delad kod och stabila beroenden.
- De konfigureras via filen
.gitmodules.
Härnäst lär vi oss hur man lägger till och klonar submoduler.
Lär dig Avancerad Git: monorepon, submoduler och arbetsflöden med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Introduktion till Git Submodules” gratis?
Ja – hela texten till ”Introduktion till Git Submodules” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Avancerad Git: monorepon, submoduler och arbetsflöden, kan Ni uppgradera till CoddyKit PRO. Kursen i Avancerad Git: monorepon, submoduler och arbetsflöden innehåller totalt 4 lektioner.
Vad lär jag mig i ”Introduktion till Git Submodules”?
Förstå vad Git Submodules är, deras användningsområden och när de är en lämplig lösning för att hantera beroenden. Ni övar på Avancerad Git: monorepon, submoduler och arbetsflöden med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Avancerad Git: monorepon, submoduler och arbetsflöden?
Du behöver inga förkunskaper. Utbildningen i Avancerad Git: monorepon, submoduler och arbetsflöden på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Introduktion till Git Submodules”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Avancerad Git: monorepon, submoduler och arbetsflöden-lektionen?
Ja. Varje Avancerad Git: monorepon, submoduler och arbetsflöden-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till Git Submodules
- Lägga till och klona submoduler
- Uppdatera och synkronisera submoduler
- Ta bort och avinitialisera submoduler