Ich habe zwei nicht zusammengehörende Git-Repositories (keine gemeinsamen Vorfahren), eines ist ein Super-Repository, das aus einer Anzahl kleinerer Projekte besteht (Lasst es Repository A nennen). Ein anderes ist nur ein behelfsmäßiges lokales Git Repository für ein kleineres Projekt (nennen wir es Repository B). Grafisch würde es so aussehen
%Vor%Idealerweise würde ich Repo B gerne in Repo A mit einer einzigen History Timeline zusammenführen. So scheint es, dass ich ursprünglich Projekt in Repo A gestartet habe. Grafisch wäre dies das ideale Endergebnis
%Vor%Ich habe ein wenig mit Submodulen und Subtree gelesen (Pro Git ist übrigens ein ziemlich gutes Buch), aber beide scheinen eine Lösung für die Aufrechterhaltung zweier separater Zweige mit Submodul zu bieten, die Änderungen von Upstream und Teilbaum ist etwas weniger Kopfschmerzen. Beide Lösungen erfordern zusätzliche und spezialisierte git-Befehle, um Eincheckvorgänge und die Synchronisierung zwischen Master- und Unterbaum / Modulzweig zu handhaben. Beide Lösungen ergeben auch mehrere Timelines (mit Unterbaum erhalten Sie sogar 3 separate Zeitachsen, wenn Sie --squash verwenden).
Die nächste Lösung von SO scheint über " Transplantation zu sprechen ", aber ist es das wirklich? Das Ziel ist es, ein einziges einheitliches Repository zu haben, in dem ich Check-Ins ziehen / schieben kann, so dass es kein Repo B mehr gibt, sondern nur Repo A am Ende.
Ich denke du machst es so:
Hoffe, das ist nützlich für dich.
Br, Tim