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'"
überlapptGibt es eine Möglichkeit, Projekt A in Projekt B zusammenzuführen und alle Commit-Historien beizubehalten?
Vielen Dank im Voraus!
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.
Wenn projectB
bereits projectA
als Submodul enthält sollten Sie:
projectA
als Submodul zu projectB
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?
Tags und Links git