Wenn ich ein Submodul ändere, kann ich das Commit auf den Ursprung des Submoduls zurückschieben, oder würde dies einen Klon erfordern? Kann ich beim Klonen einen Klon in einem anderen Repository speichern?
git
git-submodules
Webjay
quelle
quelle
git config push.recurseSubmodules on-demand
. Dann reicht ein einfachesgit push
, um alles zu pushen (Haupt-Repo und Submodule). Siehe meine bearbeitete Antwort unten .Antworten:
Ein Submodul ist nichts anderes als ein Klon eines Git-Repos innerhalb eines anderen Repos mit einigen zusätzlichen Metadaten (Gitlink-Baumeintrag, Git-Modul-Datei).
quelle
gh-pages
Zweig für die Dokumentation auf einem Github-Repo :)Beachten Sie, dass seit git1.7.11 ( [ANNOUNCE] Git 1.7.11.rc1 und Release Note , Juni 2012) Folgendes erwähnt wird:
Wahrscheinlich nach diesem Patch und der
--on-demand
Option gemacht:So können Sie alles auf einmal pushen mit (aus dem Eltern-Repo) a:
Diese Option funktioniert nur für eine Verschachtelungsebene. Änderungen am Submodul innerhalb eines anderen Submoduls werden nicht übernommen.
Mit git 2.7 (Januar 2016) reicht ein einfacher git-Push aus, um das übergeordnete Repo ... und alle seine Submodule zu pushen .
Siehe Commit d34141c , Commit f5c7cd9 (3. Dezember 2015), Commit f5c7cd9 (3. Dezember 2015) und Commit b33a15b (17. November 2015) von Mike Crowe (
mikecrowe
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 5d35d72 , 21. Dezember 2015)Das
git config
Dokument enthält jetzt :So:
Git 2.12 (Q1 2017)
git push --dry-run --recurse-submodules=on-demand
wird tatsächlich funktionieren.Siehe Commit 0301c82 , Commit 1aa7365 (17. November 2016) von Brandon Williams (
mbrandonw
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 12cf113 , 16. Dezember 2016)Und immer noch in Git 2.12 haben Sie jetzt die
--recurse-submodules=only
Option , Submodule herauszuschieben, ohne das Superprojekt der obersten Ebene zu verschieben .Siehe Commit 225e8bf , Commit 6c656c3 , Commit 14c01bd (19. Dezember 2016) von Brandon Williams (
mbrandonw
) .(Zusammengeführt von Junio C Hamano -
gitster
- in Commit 792e22e , 31. Januar 2017)quelle