Submodul-Update in Git

Abdul Jabbar 21 März 2022
Submodul-Update in Git

Untermodule sind eine Möglichkeit, ein Git-Repository als Unterverzeichnis in einem aktuellen Zweig zu halten. Submodule werden normalerweise aus einem Drittanbieter-Repository importiert. Beispielsweise kann ein großes Projekt ein Untermodul haben, das eine Bibliothek enthält.

Das Submodul kann in jedem Teil des Projekts verwendet werden. Je nach Anforderung kann es seine Submodule usw. haben. Sie sind Git-Repositorys, die in einem übergeordneten Git-Repository an einem bestimmten Pfad im Arbeitsverzeichnis des übergeordneten Repositorys fixiert sind.

Um ein Submodul zu entwickeln, verwenden wir git submodule init, um eine .gitmodules-Datei im Root-Verzeichnis des Projekts zu erstellen, die eine Liste von Submodulen enthält, die wir in den kommenden Aufgaben verwenden möchten. Dann verwenden wir den Befehl git submodule update, um unser Submodul einzufügen.

Um ein Submodul zu aktualisieren, sollten wir den Submodulpfad im übergeordneten Repository angeben. Um auf ein Submodul zuzugreifen, müssen wir immer den Pfad relativ zum übergeordneten Repository angeben. Der Submodulpfad ist also relativ zum Projekt.

Um die Angabe des Submodulpfads zu vermeiden, können wir den Submodulpfad in der Datei gitmodules festlegen. Die Datei gitmodules ist eine einfache Textdatei im Stammverzeichnis des Repositorys. Die Datei gitmodules definiert die Zuordnung zwischen dem übergeordneten Repository des aktuellen Repositorys und dem Submodul.

Git-Submodule aktualisieren

Wir zeigen Ihnen, wie Sie die Git-Submodule in unserem Arbeitsbereich mit den letzten Commits auf dem Server aktualisieren.

  • Klonen Sie das Remote-Repository, falls noch nicht geschehen.
  • Veröffentlichen Sie einen -remote-Befehl zum Aktualisieren des Git-Submoduls.
  • Alle neuen Dateien auflisten, die aus dem Repository in den Git-Index gezogen wurden.
  • Einen Git-Commit ausführen.
  • Zum Ursprung zurückschieben.

Der Befehl git submodule hat einen Parameter namens --update, der verwendet werden kann, um den neuesten Code aus dem Submodul zu erhalten.

git submodule --update 
SomeSubmodule $ git submodule --sync
SomeSubmodule $ git submodule update --init 

Mit dem Parameter update können wir das Submodul auf den neusten Commit aktualisieren. Um viele komplizierte Checkouts und Push-Befehle zu vermeiden, ist es viel einfacher, einen schnellen Alias ​​für den Submodul-Update-Befehl zu erstellen.

git submodule update --remote --merge

Der obige Befehl aktualisiert alle Submodule und stellt sicher, dass der Arbeitsbaum sauber und synchron mit dem Remote-Zweig ist. Um zu vermeiden, dass Sie jedes Mal einen Merge-Commit erhalten, verwenden Sie das Flag -merge, um die Updates zusammenzuführen. Die Verwendung von Git submodules ist wie ein zweischneidiges Schwert, weil es unser Entwicklungsleben viel einfacher machen kann, aber es kann unser Leben auch ein bisschen schwerer machen, wenn wir nicht wissen, wie es funktioniert. Je mehr wir damit arbeiten, desto mehr lernen wir ihre Funktionsweise kennen und können sie daher zu unserem Vorteil nutzen.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Verwandter Artikel - Git Submodule