Git Submodule: Håndtering af afhængigheder og integration af underlager

Git Submodule tillade dig at indlejre et Git-lager i et andet Git-lager som en undermappe. Dette er nyttigt, når du har et projekt, der afhænger af et bibliotek eller ekstern komponent. Her er en grundlæggende guide til, hvordan du bruger Git Submodule:

 

Tilføje Submodule

For at tilføje en Submodule til det aktuelle depot skal du navigere til rodbiblioteket for depotet og køre følgende kommando:

git submodule add <URL_repository> <destination_path>

hvor <URL_repository> er URL'en på det lager, du vil integrere, og <destination_path> er stien til underbiblioteket i det aktuelle lager for at gemme Submodule.

 

Klon Submodule

Når du har tilføjet a Submodule til depotet, skal du klone det ind i det eksisterende depot. For at klone Submodule, skal du køre følgende kommandoer:

git submodule init  
git submodule update  

Kommandoen git submodule init initialiserer Submodule og opretter et link til depotet, der indeholder undermodulet. Kommandoen git submodule update downloader kildekoden til Submodule og opdaterer den til den tilsvarende undermappe

.

Arbejder med Submodule

Når først det Submodule er klonet ind i depotet, kan du arbejde med det som et uafhængigt Git-depot. Du kan betale filialer, lave commits og skubbe i Submodule.

For at opdatere undermodulet i det eksisterende lager skal du køre kommandoen:

git submodule update --remote

Denne kommando downloader de seneste ændringer fra Submodule lageret og opdaterer det i den tilsvarende undermappe.

 

Fjerne Submodule

Hvis du ikke længere har brug for Submodule, kan du fjerne den ved at køre følgende kommandoer:

git submodule deinit <submodule_name>  
git rm <submodule_path>  

Erstat <submodule_name> med navnet på Submodule og <submodule_path> med stien til den undermappe, der indeholder Submodule. Så skal du forpligte dig og skubbe denne ændring.

 

Git Submodule hjælpe dig med at administrere afhængigheder og nemt integrere subrepositories i dit hovedprojekt. Det giver dig mulighed for at vedligeholde separat kildekode til Submodule og nemt opdatere den, når det er nødvendigt.