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:
- Wanneer een subproject of externe component snel verandert, of aanstaande wijzigingen de geconfigureerde API kunnen verbreken, vergrendel dan in deze situatie de code voor een bepaalde commit voor uw projectveiligheid.
- Wanneer u een specifiek project heeft met een derde partij en zij een nieuwe release in uw project willen integreren.
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:
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 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-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.
$ 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 commit -m "nieuw geweldig tekstbestand toegevoegd"
Navigeer nu naar de bovenliggende repository en bekijk de status van de bovenliggende repository.
$ 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.