Wie funktioniert Git Submodul??

Wie funktioniert Git Submodul??
Git Submodule ist ein Git -Unterverzeichnis oder eine Komponente eines anderen Hosts, Git -Repository, das sich lediglich auf ein bestimmtes Commit in einem anderen externen Git -Repository bezieht. Submodule sind statisch und verfolgen nur die jeweiligen Commits. Sie verfolgen nicht die Git -Zweige oder Schiedsrichter und werden nicht automatisch mit dem Host -Repository aktualisiert. Mit Git -Submodules können Sie das Git -Repository ermöglichen, den Versionsverlauf aller externen Code zu integrieren und zu verfolgen. Wenn ein Benutzer ein Submodul in ein Git -Repository enthält, eine neue Datei mit dem Namen .Gitmodules wird erzeugen.

In diesem Artikel geben wir Ihnen eine Vorstellung davon, wie Sie Git -Submodule in einem externen Git -Repo im Linux -System verwenden können.

Voraussetzungen

Stellen Sie sicher, dass Git bereits auf Ihrem System installiert ist.

Um die Installation von Git zu überprüfen, geben Sie den folgenden Befehl in Ihr Terminal ein:

$ Git -Version


Wir haben alle Befehle im Zusammenhang mit Git-Submodules auf CentOS 8 Linux-Verteilung implementiert, die wir in den folgenden Schritten ausführlich diskutieren werden:

Wann sollten Git -Submodule verwendet werden?

Für die strenge Versionsverwaltung der externen Abhängigkeiten Ihres Projekts können Sie Git -Submodules -Funktionen verwenden. Im Folgenden finden Sie Szenarien, in denen Sie Git -Submodule verwenden können:

  • Wenn sich eine Unterprojekt- oder externe Komponente schnell ändert oder bevorstehende Änderungen die konfigurierte API durchbrechen, sperren Sie in dieser Situation den Code für einen bestimmten Commit für Ihre Projektsicherheit.
  • Wenn Sie ein bestimmtes Projekt mit einem Dritten haben und eine neue Version in Ihrem Projekt integrieren möchten.

Fügen Sie eine neue Git -Submodule hinzu

Mit dem Befehl git submodule add wird ein neues submodul zu einem vorhandenen git repository hinzufügen. Öffnen Sie das Terminal aus der linken Seitenleiste im CentOS 8 -System vom linken Seitenleistenfeld. Mit dem folgenden Beispiel können wir es besser erklären, in dem wir ein neues leeres Git -Repository erstellen und dann Git -Submodules hinzufügen.

$ mkdir git-submodule-Demo
$ CD Git-Submodule-Demo/
$ git init


In den oben genannten Befehlen haben wir zunächst ein neues Verzeichnis mit dem Namen "Git-Submodule-Demo" erstellt und in diesem Verzeichnis navigieren. Wir haben dieses Verzeichnis als neues Git -Repository initialisiert.

Fügen Sie nun ein neues Git -Submodul hinzu, indem Sie den Befehl "Git submodule add" verwenden, in dem wir URL als Parameter verwendet haben, der sich auf ein bestimmtes Git -Repository bezieht. Wir haben in dem obigen neu erstellten Repository ein Submodul 'Awesomelibrary' hinzugefügt.

$ git submodule fügen Sie https: // bitbucket hinzu.org/jaredw/awesomelibrary


Git klonen dieses Submodul. Sobald der Submodul -Prozess abgeschlossen ist, können Sie den aktuellen Status Ihres Git -Repositorys überprüfen, indem Sie den folgenden Befehl ausführen:

$ Git Status


Wenn Sie den oben gegebenen Befehl im CentOS 8-Terminal ausführen, werden Sie feststellen, dass sich zwei neue Dateien in diesem Repository befinden. Einer ist ''.Gitmodules 'und' Awesomelibrary '. Jetzt können Sie diese Dateien in das ursprüngliche Git -Repository eingeben, indem Sie die Befehle "Git Add" und "Git Commit" ausführen.

$ git add .Gitmodules Awesomelibrary/
$ Git Commit -m "Submodule hinzugefügt" "

Klon -Git -Submodule

Klonen Sie die Submodules mit dem Befehl gSIT -Klon mit. Der folgende Befehl erstellt Verzeichnisse, die Submodule enthalten, die Datei jedoch nicht in ihnen sehen können.

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


Es gibt zwei zusätzliche Befehle zum Erstellen von Submodul -Dateien. Einer ist das ''.Git submodule init 'kopiert'.Gitmodules 'Mapping in die Lokale'.Git/config 'Datei. Der Befehl 'git submodule update' aktualisiert alle Daten des Submodule -Projekts und überprüft die Änderungen in das übergeordnete Projekt.

$ git submodule init
$ git submodule update


Jetzt navigieren wir in das Awesomelibrary -Submodul -Verzeichnis. Wir erstellen eine Textdatei mit dem Namen 'new_awesome.txt 'durch Hinzufügen von Inhalten.

$ cd Awesomelibrary/
$ git checkout -b new_awesome
$ echo "neue fantastische Datei"> new_awesome.txt
$ Git Status


Hier werden wir Änderungen zu dieser neuen Datei zum Untermodul hinzufügen und verpflichten.

$ git fügen Sie new_awesome hinzu.txt
$ Git Commit -m "Neue fantastische Textdatei hinzugefügt" "


Navigieren Sie nun in das übergeordnete Repository und überprüfen Sie den Status des übergeordneten Repositorys.

$ cd…
$ Git Status


Wie Sie sehen können, wurde "Awesomelibrary" geändert.

Abschluss

In diesem Artikel haben wir gesehen, dass Sie das Git -Repo durch die Verwendung des Git -Submoduls als externes Abhängigkeitsmanagement -Tool problemlos verwenden können. Gehen Sie mit den Verwendungen und Nachteilen von Git -Submodules durch, bevor Sie diese Git -Funktion implementieren, und übernehmen Sie es dann.