Tilføjelse og kloning af submodules
Lær kommandoerne til at føje en ny submodule til et projekt og klone et repository med submodules korrekt
Tilføjelse og kloning af submodules er en gratis Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Avanceret Git: Monorepoer, undermoduler og arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.
Tilføj og klon Git-submodules
Git-submodules giver dig mulighed for at indlejre ét Git-repository i et andet. Det er nyttigt til administration af eksterne afhængigheder som biblioteker eller delte komponenter.
I denne lektion lærer du, hvordan du tilføjer et nyt submodule til dit projekt, og hvordan du kloner et repository, der indeholder submodules, korrekt.
Kommandoen `git submodule add`
Hvis du vil tilføje et submodule, bruger du kommandoen git submodule add. Kommandoen tager URL'en til det eksterne repository og eventuelt en lokal sti, hvor du vil placere det.
- Repository-URL: URL'en (HTTPS eller SSH) til submodulets Git-repository.
- Sti: Mappen i dit hovedprojekt, hvor submodulet skal ligge. Hvis den udelades, bruger Git repositoryets navn.
Tilføjelse af et submodule i praksis
Lad os sige, at du har et my-project-repository og vil inkludere et delt bibliotek fra https://github.com/example/shared-lib.git.
Gå først til mappen for dit hovedprojekt.
cd my-project
git submodule add https://github.com/example/shared-lib.git lib/shared-libFiler oprettet af `submodule add`
Efter du har kørt git submodule add, gør Git nogle få ting:
- Det kloner submodulets repository til den angivne sti (f.eks.
lib/shared-lib). - Det tilføjer en post til en særlig fil med navnet
.gitmodulesi roden af dit hovedrepository. - Det stage'r den nye submodule-mappe og filen
.gitmodulestil commit.
Undersøgelse af `.gitmodules`
Filen .gitmodules er en konfigurationsfil, der gemmer sammenhængen mellem submodulets lokale sti og dets fjern-URL. Den er afgørende for, at andre kan klone dit projekt korrekt.
Sådan kan den se ud i vores eksempel:
[submodule "lib/shared-lib"]
path = lib/shared-lib
url = https://github.com/example/shared-lib.gitCommit din ændring af submodulet
Tilføjelse af et submodule er en ændring i dit hovedrepository, så du skal committe den. Committen registrerer den specifikke commit-hash i submodulets repository, som dit hovedprojekt bruger i øjeblikket.
git status
git commit -m "Add shared-lib as a submodule"Kloning af et overordnet repository
Når du kloner et repository, der indeholder submodules, kloner Git det overordnede repository, men downloader ikke automatisk submodulets indhold.
Submodule-mapperne vises som tomme eller indeholder kun en .git-fil, der peger på submodulets repository.
Den nemme måde at klone alle på
Den mest enkle måde at klone et repository og alle dets submodules på er at bruge flaget --recurse-submodules sammen med git clone.
Denne kommando kloner hovedrepositoryet og initialiserer og opdaterer derefter automatisk alle submodules til deres korrekte versioner.
git clone --recurse-submodules https://github.com/your/my-project.gitManuel initialisering af submodules
Hvis du glemmer --recurse-submodules under kloningen, skal du ikke bekymre dig! Du kan initialisere og opdatere dem manuelt efter kloningen af det overordnede repository.
Gå først ind i det klonede overordnede repository.
cd my-project
git submodule initHentning af submodule-indhold
Efter initialiseringen skal du fortælle Git, at det skal hente det faktiske indhold for hvert submodule. Det gør du med kommandoen git submodule update.
Den henter data fra submodulets fjernrepository og checker den specifikke commit ud, som det overordnede repository har registreret.
cd my-project
git submodule updateTest din viden om submodules
Du har netop klonet et repository med navnet parent-repo, som indeholder et submodule. Efter du kun har klonet med git clone parent-repo.git, hvilke kommandoer skal du bruge for at gøre submodulets indhold klar til brug?
Opsummering: Tilføjelse og kloning af submodules
I denne lektion lærte du, hvordan du:
- Tilføjer et submodule med
git submodule add <url> <path>, hvilket opretter en.gitmodules-fil og stager submodulet. - Committer ændringer af submodules for at registrere submodulets specifikke version i det overordnede repository.
- Kloner et repository med submodules med
git clone --recurse-submodulessom en samlet handling. - Initialiserer og opdaterer submodules manuelt med
git submodule initoggit submodule update, hvis du klonede uden recurse-flaget.
Dernæst undersøger du, hvordan du administrerer og opdaterer submodules, efter at de er blevet tilføjet og klonet.
Lær Avanceret Git: Monorepoer, undermoduler og arbejdsgange med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Tilføjelse og kloning af submodules” gratis?
Ja — hele teksten til “Tilføjelse og kloning af submodules” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. Avanceret Git: Monorepoer, undermoduler og arbejdsgange-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Tilføjelse og kloning af submodules”?
Lær kommandoerne til at føje en ny submodule til et projekt og klone et repository med submodules korrekt Du øver dig i Avanceret Git: Monorepoer, undermoduler og arbejdsgange med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Avanceret Git: Monorepoer, undermoduler og arbejdsgange?
Der kræves ingen tidligere erfaring. Avanceret Git: Monorepoer, undermoduler og arbejdsgange på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Tilføjelse og kloning af submodules”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektion?
Ja. Alle Avanceret Git: Monorepoer, undermoduler og arbejdsgange-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til Git-submodules
- Tilføjelse og kloning af submodules
- Opdatering og synkronisering af submodules
- Fjernelse og deinitialisering af submodules