Ich habe also ein Projekt A, das Projekt B verwendet. Also habe ich B als Teilbaum für das Projekt A markiert und die Änderungen von B zu A von Zeit zu Zeit zusammengeführt. Es gibt auch ein Projekt, das ich C verwenden möchte, C ist auch ein Unterbaum des Projekts B. Aber ich möchte C als Unterbaum unabhängig in meinem Projekt hinzufügen und auch nicht zwei Kopien der Codebase haben C im Projekt A. Wie kann ich dieses Problem lösen? Jede Hilfe wird geschätzt. Vielen Dank.
Antworten:
2 für die Antwort № 1Das Problem mit dem Teilbaum ist, dass C Teil der B-Historie ist.
Wenn Sie ein B ohne C als Teilbaum referenzieren können, können Sie die Submodulroute wählen:
- fügen Sie C als Submodul zu A hinzu
- fügen Sie C als Submodul zu B hinzu
- Stellen Sie sicher, dass A und B auf dasselbe C SHA1 verweisen
- Aktualisieren Sie nur das C von A (git submodule update), um nur eine C-Quelle zu erhalten.
Die Idee ist:
- zwei Verweise auf C beibehalten (um eine mögliche Diskrepanz zwischen dem von A verwendeten C und dem von B verwendeten zu erkennen)
- Aktualisieren Sie nur eines der beiden C-Submodule.