Zwei Git-Repositories zusammenführen

8

Ich habe ein Ein-Git-Projekt mit einer Dateistruktur wie folgt:

%Vor%

Ich habe ein anderes Git-Projekt mit einer Dateistruktur wie folgt:

%Vor%

Jetzt möchte ich Projekt A in Projekt B zusammenführen und weiterhin Projekt B als einziges Repository verwenden.

Ich habe versucht, die Teilbaumzusammenführung zu verwenden, aber ich habe eine Fehlermeldung erhalten, dass "Eintrag 'XXX' 'XXX'"

überlappt

Gibt es eine Möglichkeit, Projekt A in Projekt B zusammenzuführen und alle Commit-Historien beizubehalten?

Vielen Dank im Voraus!

    
dirtytofu 10.02.2010, 02:03
quelle

2 Antworten

12

Sie könnten so etwas tun:

In Project_A, erstellen Sie ein neues Unterverzeichnis "Project_A" und git mv everything in es, sodass Project_A nun aussieht wie

%Vor%

Dann in Project_B:

%Vor%

... und korrigieren Sie bei Bedarf merge_trial (oder schäumen Sie ein, spülen Sie, wiederholen Sie, bis Sie das gewünschte Ergebnis in Bezug auf Konflikte / Überlappungen erhalten haben).

Ich habe tatsächlich etwas genau so als Teil einer SVN- & gt; Git-Migration gemacht.

    
ebneter 10.02.2010 07:02
quelle
1

Wenn projectB bereits projectA als Submodul enthält sollten Sie:

Wenn projectA kein Submodul von projectB ist, würde ich empfehlen, projectA in projectB repo abzurufen und dann die graft-Methode zu verwenden, um die beiden Commit-Zeilen miteinander zu verknüpfen. während es sich nicht um alle Verschmelzungskonflikte handelt, wäre eine klassische Verschmelzung beteiligt gewesen.

Siehe Frage Git-Frage : möglich, zwei verschiedene durch gleiche Repositories zusammenzuführen?

    
VonC 10.02.2010 05:09
quelle

Tags und Links