Git Submodule: Hantera beroenden och integrera underförråd

Git Submodule låter dig bädda in ett Git-förråd i ett annat Git-förråd som en underkatalog. Detta är användbart när du har ett projekt som är beroende av ett bibliotek eller extern komponent. Här är en grundläggande guide för hur du använder Git Submodule:

 

Lägg till Submodule

För att lägga till en Submodule till det aktuella förvaret, navigera till rotkatalogen för förvaret och kör följande kommando:

git submodule add <URL_repository> <destination_path>

var <URL_repository> är URL-adressen till arkivet du vill bädda in, och <destination_path> är sökvägen till underkatalogen i det aktuella arkivet för att lagra Submodule.

 

Klona Submodule

När du har lagt till en Submodule till förvaret måste du klona den till det befintliga förvaret. För att klona Submodule, kör följande kommandon:

git submodule init  
git submodule update  

Kommandot git submodule init initierar Submodule och skapar en länk till arkivet som innehåller undermodulen. Kommandot git submodule update laddar ner källkoden för Submodule och uppdaterar den till motsvarande underkatalog

.

Arbetar med Submodule

När den väl Submodule har klonats in i förvaret kan du arbeta med den som ett oberoende Git-förråd. Du kan checka ut filialer, göra commits och trycka inom Submodule.

För att uppdatera undermodulen i det befintliga arkivet, kör kommandot:

git submodule update --remote

Detta kommando laddar ner de senaste ändringarna från Submodule förvaret och uppdaterar det i motsvarande underkatalog.

 

Avlägsna Submodule

Om du inte längre behöver Submodule, kan du ta bort den genom att köra följande kommandon:

git submodule deinit <submodule_name>  
git rm <submodule_path>  

Ersätt <submodule_name> med namnet på Submodule och <submodule_path> med sökvägen till underkatalogen som innehåller Submodule. Sedan måste du engagera dig och driva denna förändring.

 

Git Submodule hjälpa dig att hantera beroenden och enkelt integrera subrepositories i ditt huvudprojekt. Det låter dig underhålla separat källkod för Submodule och enkelt uppdatera den vid behov.