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.