Git

Hur fungerar git submodule?

Hur fungerar git submodule?
Git-undermodul är en Git-underkatalog eller komponent i en annan värd, Git-arkiv, som helt enkelt refererar till ett specifikt engagemang i ett annat externt Git-arkiv. Undermoduler är statiska och håller bara koll på de specifika åtagandena. De spårar inte Git-filialer eller ref och uppdateras inte automatiskt med värdförvaret. Med Git-undermoduler kan du aktivera Git-förvaret för att integrera och spåra versionshistoriken för all extern kod. När en användare inkluderar en undermodul till ett Git-arkiv, en ny fil med namnet .gitmodules kommer att skapa.

I den här artikeln ger vi dig en uppfattning om hur du använder Git-undermoduler i en extern Git-repo i Linux-systemet.

Förutsättningar

Se till att Git redan är installerat på ditt system.

För att verifiera installationen av Git, skriv följande kommando på din terminal:

$ git -version


Vi har implementerat alla kommandon relaterade till Git-undermoduler på CentOS 8 Linux-distribution som vi kommer att diskutera i detalj i nedanstående steg:

När ska Git-submoduler användas?

För strikt versionhantering av ditt projekts externa beroenden kan du använda Git-delmodulfunktioner. Följande är scenarier för var du kan använda git-undermoduler:

Lägg till ny Git-submodul

Kommandot Git submodule add används för att lägga till en ny submodule till ett befintligt Git-arkiv. Öppna terminalen från vänster sidopanel i CentOS 8-systemet. Med hjälp av följande exempel kan vi förklara bättre, där vi skapar ett nytt tomt Git-arkiv och sedan lägger till Git-undermoduler.

$ mkdir git-submodule-demo
$ cd git-submodule-demo /
$ git init


I de ovannämnda kommandona har vi först skapat en ny katalog med namnet 'git-submodule-demo' och navigerar i den här katalogen. Vi har initierat den här katalogen som ett nytt Git-arkiv.

Lägg nu till en ny Git-undermodul genom att använda kommandot 'git submodule add' där vi har använt URL som en parameter som refererar till ett visst Git-arkiv. Vi har lagt till en undermodul 'awesomelibrary' i ovanstående nyskapade arkiv.

$ git submodule lägg till https: // bitbucket.org / jaredw / awesomelibrary


Git kommer att klona denna submodul. När delmodulprocessen är klar kan du kontrollera aktuell status för ditt git-arkiv genom att köra följande kommando:

$ git-status


När du kör kommandot ovan på CentOS 8-terminalen kommer du att märka att två nya filer finns i detta arkiv. En är '.gitmodules 'och' awesomelibrary '. Nu kan du begå dessa filer i det ursprungliga Git-arkivet genom att utföra kommandona 'git add' och 'git commit'.

$ git add .gitmodules awesomelibrary /

$ git commit -m "lagt till submodule"

Klon Git-submoduler

Klona undermodulerna med Gsit-klonkommandot. Kommandot nedan skapar kataloger som innehåller undermoduler, men du kan inte se filen inuti dem.

$ git-klon https: // bitbucket.org / jaredw / awesomelibrary / submodules


Det finns ytterligare två kommandon som används för att skapa submodulfiler. Den ena är.git submodule init 'som kopierar'.gitmodules 'mapping into the local'.git / config-fil. Kommandot 'git submodule update' uppdaterar alla data i submodule-projektet och verifierar ändringarna i det överordnade projektet.

$ git submodule init
$ git submodule-uppdatering


Nu kommer vi att navigera in i undermodulkatalogen för awesomelibrary. Vi skapar en textfil med namnet 'new_awesome.txt 'genom att lägga till lite innehåll.

$ cd awesomelibrary /
$ git kassa -b new_awesome
$ echo "new awesome file"> new_awesome.Text
$ git-status


Här kommer vi att lägga till och begå ändringar i den här nya filen i undermodulen.

$ git lägg till new_awesome.Text
$ git commit -m "lagt till ny fantastisk textfil"


Navigera nu in i föräldrarnas arkiv och granska statusen för det överordnade arkivet.

$ cd ..
$ git-status


Som du ser har 'awesomelibrary' modifierats.

Slutsats

Vi har sett i den här artikeln att du med hjälp av Git-undermodulen enkelt kan använda Git-repo som ett externt beroendeshanteringsverktyg. Gå igenom användningen och nackdelarna med Git-undermoduler innan du implementerar den här Git-funktionen och anta den sedan.

Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...
HD Remastered Games för Linux som aldrig tidigare hade en Linux-version
Många spelutvecklare och utgivare kommer med HD-remaster av gamla spel för att förlänga livstiden för franchisen, snälla fans som begär kompatibilitet...
Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...