git submodule-Befehl
git submoduleDer Befehl wird verwendet, um Projekte zu verwalten, die andere Git-Repositories enthalten.
git submoduleDer Befehl ist sehr nützlich für große Projekte oder Situationen, in denen Sie externe Bibliotheken in Ihr Projekt integrieren müssen. Durch die Verwendung von Submodulen können Sie externe Bibliotheken als Teil Ihres Projekts verwalten, ohne sie direkt in das Haupt-Repository zusammenführen zu müssen.
Detaillierte Verwendung
1. Submodule initialisieren
git submodule init
Dieser Befehl initialisiert alle Submodule in der Konfigurationsdatei. Er legt die URLs und Pfade der Submodule basierend auf den Informationen in der Datei .gitmodules fest, lädt jedoch nicht die Inhalte der Submodule herunter.
Übliche Verwendung:Führen Sie diesen Befehl nach dem Klonen eines Repositorys, das Submodule enthält, aus, um die Submodule zu initialisieren.
git clone <repo-url> cd <repo-dir> git submodule init
2. Submodul aktualisieren
git submodule update
Dieser Befehl ruft den Inhalt des Submoduls aus dem Remote-Repository des Submoduls ab und aktualisiert ihn auf den Commit, der in der Datei .gitmodules angegeben ist.
Übliche Verwendung:Führen Sie diesen Befehl nach dem Initialisieren der Submodule aus oder wenn Sie den Inhalt des Submoduls aktualisieren müssen.
git submodule update
3. Submodul hinzufügen
git submodule add <repo-url> [<path>]
Dieser Befehl fügt das angegebene Git-Repository dem aktuellen Repository als Submodul hinzu.
<repo-url>ist die Repository-Adresse des Submoduls,<path>Ist der Pfad des Submoduls im Haupt-Repository (optional; wenn nicht angegeben, wird standardmäßig der Name des Submodul-Repositorys als Pfad verwendet).
Übliche Verwendung:Die externe Bibliothek als Submodul zum Projekt hinzufügen.
git submodule add https://github.com/example/libfoo.git libfoo
4. Submodul entfernen
git submodule deinit [<path>] git rm [<path>]
git submodule deinit <path>: Submodul entfernen aus.git/configes aus der Datei entfernen und die Dateien im Submodulverzeichnis löschen.git rm <path>: Die Submodulreferenz aus dem Haupt-Repository entfernen und die Änderungen committen.
Übliche Verwendung:Ein Submodul aus dem Haupt-Repository entfernen.
git submodule deinit libfoo git rm libfoo rm -rf .git/modules/libfoo5. Submodule auflisten
git submodule
Alle Submodule im aktuellen Repository auflisten, zusammen mit ihren Commit-Hashes und Pfaden.
Übliche Verwendung:Den Status aller Submodule im Projekt anzeigen.
git submodule
6. Alle Submodule aktualisieren
git submodule update --recursive --remote
--recursive: Alle Submodule rekursiv aktualisieren (einschließlich Submodule von Submodulen).--remote: Ziehe die neuesten Änderungen aus dem Remote-Repository des Submoduls.
Häufige Verwendung:Wenn Submodule andere Submodule enthalten, stelle sicher, dass alle Ebenen von Submodulen auf die neueste Version aktualisiert werden.
git submodule update --recursive --remote
7. Submodul-Status überprüfen
git submodule status
Zeige den aktuellen Status der Submodule an, einschließlich des aktuellen Commit-Hashes und Pfads sowie ob es nicht committete Änderungen gibt.
Häufige Verwendung:Den aktuellen Status der Submodule anzeigen.
git submodule status
Weitere Erweiterungen