Git

Hoe werkt git submodule?

Hoe werkt git submodule?
Git-submodule is een Git-submap of component van een andere host, Git-repository, die eenvoudigweg verwijst naar een specifieke commit in een andere externe Git-repository. Submodules zijn statisch en houden alleen de specifieke commits bij. Ze volgen de Git-takken of refs niet en worden niet automatisch bijgewerkt met de hostrepository. Met Git-submodules kun je de Git-repository in staat stellen om de versiegeschiedenis van alle externe code op te nemen en te volgen. Wanneer een gebruiker een submodule aan een Git-repository toevoegt, wordt een nieuw bestand met de naam .gitmodules zal creëren.

In dit artikel geven we je een idee over het gebruik van Git-submodules in een externe Git-repo in het Linux-systeem.

Vereisten

Zorg ervoor dat Git al op je systeem is geïnstalleerd.

Om de installatie van Git te verifiëren, typt u de volgende opdracht op uw terminal:

$ git -versie


We hebben alle opdrachten met betrekking tot Git-submodules op CentOS 8 Linux-distributie geïmplementeerd die we in de onderstaande stappen in detail zullen bespreken:

Wanneer moeten Git-submodules worden gebruikt??

Voor strikt versiebeheer van de externe afhankelijkheden van uw project, kunt u de functies van Git-submodules gebruiken. Hieronder volgen scenario's waarin je git-submodules kunt gebruiken:

Nieuwe Git-submodule toevoegen

Het Git submodule add commando wordt gebruikt om een ​​nieuwe submodule toe te voegen aan een bestaande Git repository. Open de terminal vanuit het linkerzijbalkpaneel in het CentOS 8-systeem. Met behulp van het volgende voorbeeld kunnen we het beter uitleggen, waarin we een nieuwe lege Git-repository maken en vervolgens Git-submodules toevoegen.

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


In de bovengenoemde opdrachten hebben we eerst een nieuwe map gemaakt met de naam 'git-submodule-demo' en navigeren in deze map. We hebben deze map geïnitialiseerd als een nieuwe Git-repository.

Voeg nu een nieuwe Git-submodule toe door het 'git submodule add'-commando te gebruiken waarin we URL hebben gebruikt als een parameter die verwijst naar een bepaalde Git-repository. We hebben een submodule 'awesomelibrary' toegevoegd in de hierboven nieuw aangemaakte repository.

$ git submodule add https://bitbucket.org/jaredw/awesomelibrary


Git zal deze submodule klonen. Zodra het proces van de submodule is voltooid, kun je de huidige status van je git-repository controleren door het volgende commando uit te voeren:

$ git-status


Wanneer u de hierboven gegeven opdracht uitvoert op de CentOS 8-terminal, zult u merken dat er twee nieuwe bestanden in deze repository staan. Een is '.gitmodules' en 'awesomelibrary'. Nu kun je deze bestanden vastleggen in de originele Git-repository door de commando's 'git add' en 'git commit' uit te voeren.

$ git toevoegen .gitmodules awesomelibrary/

$ git commit -m "submodule toegevoegd"

Kloon Git-submodules

Kloon de submodules met behulp van het Gsit-klooncommando. Het onderstaande commando maakt mappen aan die submodules bevatten, maar je kunt het bestand erin niet zien.

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


Er zijn twee extra opdrachten die worden gebruikt om submodulebestanden te maken. Een is de '.git submodule init' die kopieert '.gitmodules' mapping naar de lokale '.git/config' bestand. De opdracht 'git submodule update' werkt alle gegevens van het submodule-project bij en verifieert de wijzigingen in het bovenliggende project.

$ git submodule init
$ git submodule-update


Nu gaan we naar de map awesomelibrary submodule. We zullen een tekstbestand maken met de naam 'new_awesome'.txt' door wat inhoud toe te voegen.

$ cd geweldige bibliotheek/
$ git checkout -b new_awesome
$ echo "nieuw geweldig bestand" > new_awesome.tekst
$ git-status


Hier zullen we wijzigingen aan dit nieuwe bestand toevoegen en vastleggen in de submodule.

$ git add new_awesome.tekst
$ git commit -m "nieuw geweldig tekstbestand toegevoegd"


Navigeer nu naar de bovenliggende repository en bekijk de status van de bovenliggende repository.

$ cd…
$ git-status


Zoals je kunt zien, is 'awesomelibrary' gewijzigd.

Conclusie

We hebben in dit artikel gezien dat je, door de Git-submodule te gebruiken, de Git-repo gemakkelijk kunt gebruiken als een externe tool voor afhankelijkheidsbeheer. Ga door met het gebruik en de nadelen van Git-submodules voordat u deze Git-functie implementeert en pas deze vervolgens toe.

Gratis en open source game-engines voor het ontwikkelen van Linux-games
Dit artikel behandelt een lijst met gratis en open source game-engines die kunnen worden gebruikt voor het ontwikkelen van 2D- en 3D-games op Linux. E...
Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...