In diesem Artikel geben wir Ihnen eine Idee, 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 auf Ihrem Terminal ein:
$ git -version
Wir haben alle Befehle im Zusammenhang mit Git-Submodulen auf der CentOS 8 Linux-Distribution implementiert, die wir in den folgenden Schritten ausführlich besprechen werden:
Wann sollten Git-Submodule verwendet werden?
Für ein striktes Versionsmanagement der externen Abhängigkeiten Ihres Projekts können Sie dann die Funktionen von Git-Submodulen verwenden. Im Folgenden sind Szenarien aufgeführt, in denen Sie git-Submodule verwenden können:
- Wenn sich ein Teilprojekt oder eine externe Komponente schnell ändert oder bevorstehende Änderungen die konfigurierte API beschädigen können, sperren Sie in dieser Situation den Code für einen bestimmten Commit für Ihre Projektsicherheit.
- Wenn Sie ein bestimmtes Projekt mit einem Drittanbieter haben und dieser eine neue Version in Ihr Projekt integrieren möchte.
Neues Git-Submodul hinzufügen
Der Befehl Git submodule add wird verwendet, um einem bestehenden Git-Repository ein neues Submodul hinzuzufügen. Öffnen Sie das Terminal über die linke Seitenleiste des CentOS 8-Systems. Anhand des folgenden Beispiels können wir es besser erklären, in dem wir ein neues leeres Git-Repository erstellen und dann Git-Submodule 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 navigieren in diesem Verzeichnis. 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 die URL als Parameter verwendet haben, der auf ein bestimmtes Git-Repository verweist. Wir haben ein Untermodul 'awesomelibrary' im oben neu erstellten Repository hinzugefügt.
$ git-Submodul https://bitbucket hinzufügen.org/jaredw/awesomelibrary
Git wird dieses Untermodul klonen. Sobald der Submodul-Prozess abgeschlossen ist, können Sie den aktuellen Status Ihres Git-Repositorys überprüfen, indem Sie den folgenden Befehl ausführen:
Wenn Sie den oben angegebenen Befehl auf dem 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 übertragen, indem Sie die Befehle 'git add' und 'git commit' ausführen.
$ git commit -m "submodul hinzugefügt"
Git-Submodule klonen
Klonen Sie die Submodule mit dem Gsit-Clone-Befehl. Der folgende Befehl erstellt Verzeichnisse, die Submodule enthalten, aber Sie können die Datei darin nicht sehen.
$ git clone https://bitbucket.org/jaredw/awesomelibrary/submodules
Es gibt zwei zusätzliche Befehle zum Erstellen von Submoduldateien. Einer ist der '.git submodul init' das kopiert '.gitmodules' Mapping in das lokale '.git/config'-Datei. Der Befehl 'git submodule update' aktualisiert alle Daten des Submodul-Projekts und überprüft die Änderungen im übergeordneten Projekt.
$ git-Submodul-Update
Nun navigieren wir in das awesomelibrary-Untermodulverzeichnis. Wir erstellen eine Textdatei mit dem Namen 'new_awesome.txt' durch Hinzufügen von Inhalten.
$ git checkout -b new_awesome
$ echo "neue tolle Datei" > new_awesome.TXT
$git-Status
Hier werden wir Änderungen an dieser neuen Datei zum Untermodul hinzufügen und übertragen.
$ git commit -m "neue tolle Textdatei hinzugefügt"
Navigieren Sie nun in das übergeordnete Repository und überprüfen Sie den Status des übergeordneten Repositorys.
$git-Status
Wie Sie sehen können, wurde 'awesomelibrary' geändert.
Fazit
Wir haben in diesem Artikel gesehen, dass Sie durch die Verwendung des Git-Submoduls das Git-Repository problemlos als externes Tool zur Verwaltung von Abhängigkeiten verwenden können. Gehen Sie die Verwendungen und Nachteile von Git-Submodulen durch, bevor Sie diese Git-Funktion implementieren, und übernehmen Sie sie dann.