Git

Hvordan fungerer git submodule?

Hvordan fungerer git submodule?
Git-undermodul er en Git-underkatalog eller komponent i en annen vert, Git-arkiv, som ganske enkelt refererer til et bestemt forpliktelse i et annet eksternt Git-arkiv. Undermoduler er statiske og holder bare oversikt over de bestemte forpliktelsene. De sporer ikke Git-grener eller refs og oppdateres ikke automatisk med vertsregisteret. Git-undermoduler lar deg aktivere Git-depotet for å innlemme og spore versjonshistorikken til all ekstern kode. Når en bruker inkluderer en undermodul til et Git-arkiv, en ny fil med navnet .gitmodules vil lage.

I denne artikkelen vil vi gi deg en ide om hvordan du bruker Git-undermoduler i en ekstern Git-repo i Linux-systemet.

Forutsetninger

Forsikre deg om at Git allerede er installert på systemet ditt.

For å bekrefte installasjonen av Git, skriv inn følgende kommando på terminalen:

$ git -versjon


Vi har implementert alle kommandoer relatert til Git-undermoduler på CentOS 8 Linux-distribusjon som vi vil diskutere i detalj i trinnene nedenfor:

Når skal Git Submodules brukes?

For streng versjonshåndtering av prosjektets eksterne avhengigheter, kan du bruke Git submodules-funksjoner. Følgende er scenarier for hvor du kan bruke git-submoduler:

Legg til ny Git Submodule

Kommandoen Git submodule add brukes til å legge til en ny submodule i et eksisterende Git-depot. Åpne terminalen fra venstre sidepanel i CentOS 8-systemet. Ved å bruke følgende eksempel kan vi forklare bedre, der vi vil opprette et nytt tomt Git-arkiv og deretter legge til Git-undermoduler.

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


I de ovennevnte kommandoene har vi først opprettet en ny katalog med navnet 'git-submodule-demo' og navigerer i denne katalogen. Vi har initialisert denne katalogen som et nytt Git-arkiv.

Legg nå til en ny Git-undermodul ved å bruke kommandoen 'git submodule add' der vi har brukt URL som en parameter som refererer til et bestemt Git-arkiv. Vi har lagt til en undermodul 'awesomelibrary' i det nyopprettede depotet ovenfor.

$ git submodule legg til https: // bitbucket.org / jaredw / awesomelibrary


Git vil klone denne submodulen. Når undermodulprosessen er fullført, kan du kontrollere gjeldende status for git-arkivet ved å kjøre følgende kommando:

$ git-status


Når du kjører ovennevnte kommando på CentOS 8-terminalen, vil du merke at to nye filer er i dette depotet. En er '.gitmodules 'og' awesomelibrary '. Nå kan du forplikte disse filene til det opprinnelige Git-arkivet ved å utføre kommandoene 'git add' og 'git commit'.

$ git add .gitmodules awesomelibrary /

$ git commit -m "lagt til submodule"

Klon Git-submoduler

Klon submodulene ved hjelp av Gsit-klonkommandoen. Kommandoen nedenfor vil opprette kataloger som inneholder undermoduler, men du kan ikke se filen i dem.

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


Det er to ekstra kommandoer som brukes til å lage submodulfiler. Den ene er '.git submodule init 'som kopierer'.gitmodules 'kartlegging til det lokale'.git / config-fil. Kommandoen 'git submodule update' oppdaterer alle data i submodule-prosjektet og verifiserer endringene i det overordnede prosjektet.

$ git submodule init
$ git submodule oppdatering


Nå skal vi navigere inn i undermodulkatalogen til awesomelibrary. Vi oppretter en tekstfil med navnet 'new_awesome.txt 'ved å legge til litt innhold.

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


Her vil vi legge til og forplikte endringer til denne nye filen i undermodulen.

$ git legg til new_awesome.tekst
$ git commit -m "lagt til ny fantastisk tekstfil"


Nå navigerer du inn i foreldreregistret og går gjennom statusen til foreldrelageret.

$ cd ..
$ git-status


Som du kan se, er 'awesomelibrary' endret.

Konklusjon

Vi har sett i denne artikkelen at ved å bruke Git-undermodulen, kan du enkelt bruke Git repo som et eksternt avhengighetsstyringsverktøy. Gå gjennom bruken og ulempene med Git-undermoduler før du implementerer denne Git-funksjonen, og bruk deretter den.

Vulkan for Linux-brukere
Med hver nye generasjon grafikkort ser vi spillutviklere skyve grensene for grafisk troskap og komme et skritt nærmere fotorealisme. Men til tross for...
OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...