Hvordan fungerer Git submodul?

Hvordan fungerer Git submodul?
Git Submodule er en underkatalog eller komponent i en annen vert, Git Repository, som ganske enkelt refererer til en spesifikk forpliktelse i et annet eksternt Git -depot. Undermoduler er statiske og holder bare oversikt over de spesielle forpliktelsene. De sporer ikke GIT -grenene eller refs og oppdateres ikke automatisk med vertsreposten. Git -undermoduler lar deg aktivere Git -depotet å innlemme og spore versjonens historie for all ekstern kode. Når en bruker inkluderer en submodule til et Git -depot, en ny fil med navnet .GitModules vil skape.

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 din:

$ git -version


Vi har implementert alle kommandoer relatert til GIT-undermoduler på CentOS 8 Linux-distribusjon som vi vil diskutere i detalj i de under-nevnte trinnene:

Når skal Git -undermoduler brukes?

For streng versjonsstyring av prosjektets eksterne avhengigheter, kan du bruke GIT -submodules -funksjoner. Følgende er scenarier for hvor du kan bruke Git -undermoduler:

  • Når en delprosjekt eller ekstern komponent endrer.
  • Når du har et spesifikt prosjekt med en tredjepart, og de ønsker å integrere en ny utgivelse i prosjektet ditt.

Legg til ny Git -undermodule

Git -undermodulen ADD -kommandoen brukes til å legge til en ny submodule til et eksisterende Git -depot. Åpne terminalen fra venstre sidefeltpanel i CentOS 8 -systemet. Ved å bruke følgende eksempel kan vi forklare bedre, der vi vil lage et nytt tomt Git -depot 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 -depot.

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

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


Git vil klone denne submodulen. Når submodulprosessen er fullført, kan du sjekke gjeldende status for Git -depotet ditt 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 originale Git -depotet ved å utføre 'Git Add' og 'Git Commit' -kommando.

$ git Legg til .gitmodules awesomelibrary/
$ git commit -m "lagt til submodule"

Klone git submoduler

Kloner undermodulene ved hjelp av GSIT -klonekommandoen. Kommandoen nedenfor vil lage kataloger som inneholder undermoduler, men du kan ikke se filen inni dem.

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


Det er to ekstra kommandoer som brukes til å lage submodule -filer. Den ene er '.git submodule init 'som kopierer'.GitModules 'kartlegging av det lokale'.git/config '-fil. Kommandoen "Git submodule Update" oppdaterer alle data fra undermodulprosjektet og verifiserer endringene i overordnede prosjekt.

$ git submodule init
$ git submodule -oppdatering


Nå vil vi navigere inn i Awesomelibrary submodule -katalogen. Vi oppretter en tekstfil med navnet 'new_awesome.txt 'ved å legge til noe innhold.

$ cd awesomelibrary/
$ git checkout -b new_awesome
$ ekko "ny fantastisk fil"> new_awesome.tekst
$ git status


Her vil vi legge til og begå endringer i denne nye filen til submodulen.

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


Naviger nå inn i overordnede depot og gjennomgå statusen til overordnede depot.

$ CD ..
$ git status


Som du ser er 'Awesomelibrary' blitt endret.

Konklusjon

Vi har sett i denne artikkelen at ved å bruke Git -undermodulen, kan du enkelt bruke Git -repoen som et eksternt avhengighetsstyringsverktøy. Gå gjennom bruk av bruksområder og ulemper med GIT -undermoduler før du implementerer denne GIT -funksjonen, og vedtar den deretter.