Git-Submodule auflisten
- Was ist ein Git-Submodul
- Erstellen Sie ein Git-Submodul
- Allgemeine Git-Befehle für Submodule
- Untermodule in Git auflisten
In diesem Artikel werden wir Git-Submodule besprechen. Wir werden behandeln, was sie sind, den Zweck der Untermodule und den allgemeinen Arbeitsablauf.
Git-Submodule ermöglichen es uns, ein Repo als Unterverzeichnis eines anderen Repos zu führen. Einfacher ausgedrückt sind Submodule ein Verweis auf andere Repositories in bestimmten Zeiträumen.
Was ist ein Git-Submodul
Wenn die obige Erklärung die Dinge nicht geklärt hat, sollte dies der Fall sein.
Ein Git-Submodul kann mit einem Datensatz in einem Host-Repo verglichen werden, der auf einen Commit in einem anderen Repo verweist. Im Allgemeinen sind Submodule statisch und verfolgen bestimmte Commits.
Sie verfolgen keine Branches oder Refs und werden nicht aktualisiert, wenn Änderungen in das Host-Repository übertragen werden.
Git erstellt jedes Mal eine .gitmodules
-Datei, wenn wir ein Submodul in unserem Repo erstellen. Die Datei enthält die Metadaten des Submoduls und die Zuordnung zu unserem Repo.
Das Erstellen mehrerer Submodule führt zu mehreren gitmodules
-Dateien.
Erstellen Sie ein Git-Submodul
Die erste Frage, die wir uns stellen müssen, lautet: Wann sollten wir ein Submodul erstellen?
Hier sind einige Szenarien, in denen es am besten ist, ein Git-Submodul zu erstellen.
- Wenn sich ein Unterprojekt oder eine externe Komponente schnell ändert, ist es am besten, Ihren Code an ein bestimmtes Commit zu binden. Dasselbe gilt, wenn Sie anstehende Änderungen erwarten, die die API beschädigen könnten.
- Beim Verfolgen von Komponenten als Lieferantenabhängigkeiten. Dies geschieht normalerweise, wenn wir eine bestimmte Komponente nicht regelmäßig aktualisieren.
- Wenn wir zu einem bestimmten Zeitpunkt Änderungen von einem Drittanbieter integrieren möchten. Es funktioniert am besten, wenn Sie keine häufigen Updates haben.
Allgemeine Git-Befehle für Submodule
Sehen wir uns einige allgemeine Verwendungsoptionen auf unserer Befehlszeile an.
Git-Submodul hinzufügen
Wir verwenden den Befehl git add submodule
, um ein neues Submodul in unserem Host-Repository zu erstellen. Hier ist der typische Arbeitsablauf beim Erstellen von Git-Submodulen.
$ git submodule add <Repo URL>
Der Befehl git submodule add
erfordert einen URL-Parameter, der auf ein Repo zeigt. Git klont das Submodul und wir können den Befehl git status
ausführen, um den neuen Repo-Status anzuzeigen.
Sehen wir uns ein Beispiel an. Lassen Sie uns ein Submodul zu unserem Delftscopetech
-Repository hinzufügen.
Wir können jetzt den Befehl git status
wie unten gezeigt ausführen.
$ git status
Wie oben zu sehen, haben wir jetzt zwei neue Dateien, .gitmodules
und Learn-Submodules
. Wir können die Dateien hinzufügen und die Änderungen übernehmen.
git submodule init
Wir führen den Befehl git submodule init
aus, um das Mapping unseres Submoduls aus der Datei .gitmodules
in unsere lokale Konfigurationsdatei zu kopieren. Es kommt ins Spiel, wenn wir mehrere Submodule in unserem Repository haben.
Untermodule in Git auflisten
Der Befehl git submodule init
stützt sich auf die Datei .gitmodules
. Wir können eine Liste aller Submodule anzeigen, indem wir uns auf dieselbe Datei verlassen.
Zuerst müssen wir die Datei analysieren. Wir rennen:
$ git config --file .gitmodules --name-only --get-regexp path
Dann können wir laufen:
$ git config --file .gitmodules --get-regexp path | awk '{ print $2 }'
Der obige Befehl zeigt den Pfad zu den in Ihrem Repository vorhandenen Submodulen an.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn