Wie würde ich ein Git-Submodul für ein bestimmtes Tag oder Commit hinzufügen?
Wie würde ich ein Git-Submodul für ein bestimmtes Tag oder Commit hinzufügen?
Antworten:
Submodul-Repositorys bleiben in einem getrennten HEAD-Status, der auf ein bestimmtes Commit verweist. Das Ändern dieses Commits umfasst lediglich das Auschecken eines anderen Tags oder Commits und das Hinzufügen der Änderung zum übergeordneten Repository.
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
git-status
Im übergeordneten Repository wird nun ein schmutziger Baum gemeldet:
# On branch dev [...]
#
# modified: submodule (new commits)
Fügen Sie das Submodulverzeichnis hinzu und verpflichten Sie sich, den neuen Zeiger zu speichern.
Schritt 1: Fügen Sie das Submodul hinzu
git submodule add git://some_repository.git some_repository
Schritt 2: Fixieren Sie das Submodul auf ein bestimmtes Commit
Standardmäßig verfolgt das neue Submodul den HEAD des Hauptzweigs, wird jedoch NICHT aktualisiert, wenn Sie Ihr primäres Repository aktualisieren. Um das Submodul zu ändern, um ein bestimmtes Commit oder einen anderen Zweig zu verfolgen, wechseln Sie das Verzeichnis in den Submodulordner und wechseln Sie die Zweige wie in einem normalen Repository.
git checkout -b some_branch origin/some_branch
Jetzt ist das Submodul auf dem Entwicklungszweig anstelle von HEAD of Master fixiert.
Von zwei streitenden Typen - Binden Sie Git-Submodule an einen bestimmten Commit oder Zweig .
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
ein Tag oder einen sha1hash zu nehmen. Es kann nur einen Zweig nehmen.
-b
die Unterstützung von Zweigen und nicht Tags oder Commit-Shas ist eine Funktion, die kein Fehler ist (in der Tat -b
eine Abkürzung für --branch
).