2017-12-22 2 views
-1

Ich habe mehrere Repositorys in ein einziges Repository zusammengeführt, indem ich dieses Tutorial befolgte: https://leewc.com/articles/how-to-merge-multiple-git-repositories-into-one-repo/. Aber es scheint, es war kein guter Weg, weil ich gerade jetzt, wenn ich versuche, ein Feature in meinen Branchentest einzubinden, 100 Konflikte habe.Mehrere Konflikte nach dem Zusammenführen mehrerer Repositories zu einem

Ich habe diese Funktion im neuen Repository nach dem Zusammenführen aller Repositories in mein neues Repository erstellt. Die alten Repositories waren formation-front, formation-back und formation-services, und ich habe jetzt ein einziges Repository formation, das die Ordner formation-front, formation-back und formation-services enthält. Die alten Repositorys haben keine Dateinamen oder Pfade gemeinsam genutzt.

Zum Beispiel hatte ich ein Repository formation-front, mit 3 Filialen: dev, test und master. Also habe ich einen Zweig project_A_dev in dem neuen Repository erstellt, und ich habe den Zweig dev von formation-front in diesem Zweig zusammengeführt. Ich habe das für die 3 Zweige dev, test und master meiner 3 Repositories getan.

Wie identifiziert Git die Dateien? Haben die Dateien eine ID? Sind die Fehler und die Konflikte wegen der Tatsache, dass bestimmte Dateien aufgrund des alten Repos, aus dem ich fusionierte, eine alte ID haben und bestimmte Dateien eine neue ID haben? Ich hatte nicht alle diese Konflikte vor dem Zusammenführen von Repositories.

+0

Ich würde vorschlagen, dass Sie Ihre Frage bearbeiten, um sie lesbarer zu machen, und fügen Sie den Code/die Ausgabe hinzu, die Sie verwendet haben. Wenn es sich um einen Softwarefehler handelt, [_try kontaktiert die Entwickler_] (https://support.gitkraken.com/). – evolutionxbox

+0

Was möchten Sie zusammenführen? Haben Sie den Feature-Zweig von dem bereits kombinierten Repository oder von einem der separaten Repositorys abzweigen? – kowsky

+0

Ohne mehr darüber zu wissen, was Sie versuchen, ist es unmöglich zu antworten. Haben Sie den Zweig erstellt, den Sie jetzt vor oder nach dem Zusammenführen in allen nicht verwandten Repositorys zusammenführen möchten? Haben diese nicht verwandten Repositories Dateinamen und Pfade gemeinsam genutzt, was bedeutet, dass Sie nicht nur die Historien kombiniert haben, sondern auch die Dateien zusammengeführt haben? –

Antwort

1

Wenn Sie wie beschrieben zusammengeführt und verschiedene Zweige für die verschiedenen Projekte haben, ist eine Zusammenführung von einem Zweig zu einem anderen nicht trivial, da sie völlig unabhängige Geschichten haben. Sie müssen genauer angeben, welche Zweigstellen derzeit in Ihrem Repository vorhanden sind, wie sie sich unterscheiden und vor allem von welchen Bereichen, die Sie zusammenführen möchten.

Der in Ihrem Link beschriebene Ansatz ist eine etwas seltsame Verwendung für Zweige. Es ist nicht beabsichtigt, dass Zweigstellen vollständig unterschiedliche Projekte enthalten, sondern unterschiedliche Zustände eines einzelnen Projekts.

Entweder sind Ihre Projekte so verbunden, dass es gerechtfertigt ist, sie in einem einzigen Repository nebeneinander zu platzieren (aber nicht in verschiedenen Zweigen) oder sie sollten in separaten Repositories leben. Im ersten Fall können Sie den Anweisungen Ihres verknüpften Artikels folgen (this one). Dies sollte zu einem einzigen Master-Zweig führen, der alle Ihre Projekte enthält, ohne die Probleme mit der Zusammenführung, die Sie gerade haben.

Haftungsausschluss: Natürlich liegt es an Ihnen, wie Sie git und seine Funktionen nutzen können. Es gibt keine einzige Möglichkeit, Git zu benutzen. Die Verwendung von Verzweigungen in der beschriebenen Weise ist jedoch sehr ungewöhnlich und scheint kein guter Arbeitsablauf zu sein.

+0

Hallo Kowsky, kannst du mir bitte erklären, warum das Tutorial, das ich verlinkt habe, kein guter Workflow ist? Auch habe ich meinen Beitrag bearbeitet, um Ihnen mehr Informationen zu geben. – Armays

+0

Wenn ich Ihre Frage richtig verstanden habe, haben Sie jetzt drei Zweige für jedes Ihrer drei Projekte, also insgesamt neun Zweige. Das ist unnötig, da Sie Ihre Projekte bereits trennen, indem Sie sie in verschiedenen Ordnern ablegen. Warum kombinieren Sie nicht die drei 'Dev'-Zweige zu einem einzigen Zweig? Dies ist kein guter Workflow, da Zweige nicht dazu gedacht sind, verschiedene Projekte zu trennen, sondern verschiedene Versionen desselben Projekts beizubehalten. – kowsky

+0

Hallo Kowski danke für deine Antwort :) Nein, ich habe gerade 3 verschiedene Zweige: dev, test und master, nicht 9. Alle diese Projekte sind in der Tat das gleiche Projekt, bevor ich das Back-End und das Front-End hatte getrennt, aber jetzt sind sie zusammen. Denkst du, dass ich keine Merge-Konflikte mehr habe, wenn ich den Test in den Master einfüge und in den Test entwickle? Gibt es die ID der Dateien in Git? – Armays

Verwandte Themen