2017-06-22 1 views
1

Ich habe ein paar ähnliche Themen gefunden, aber bitte sehen Sie sich meine Lösung an. Es sieht so aus, als ob git subtree ein etwas anderes Problem lösen soll. Ich habe zwei Repositories A und B. Repo B hat nur ein Verzeichnis, das nicht mit dem Repo-A-Inhalt verwandt ist. Ich möchte nur dieses Verzeichnis Repo A hinzufügen und eine konsistente Geschichte in RepoA haben. Repo B wird nicht mehr verwendet.zwei Git-Repositories zusammenführen - konsistente Geschichte

Hier sind Schritte:

cd RepoB 
git checkout develop 
git remote set-url origin RepoA 
git pull origin develop 
git push -u origin develop 

git pull fusionieren ausgeführt, sollte ich holen verwenden und dann mit etwas Option Parameter fusionieren?

Haben Sie weitere Vorschläge?

+0

Mögliche Duplikat [Merge zwei Git Repositories, ohne zu brechen Datei history] läuft (https://stackoverflow.com/questions/13040958/merge-two-git-repositories-ohne-break-file-history) –

+0

Was bedeutet "eine konsistente Geschichte" hier? Müssen Sie die Änderungshistorie von A und B beibehalten? Muss die Geschichte genau widerspiegeln, dass diese Änderung an A vor dieser Änderung an B vorgenommen wurde, aber diese Änderung an B vor dieser anderen Änderung an A usw.? –

Antwort

1

können Sie versuchen, RepoB Rebase ontop REPOA:

repoA/master: A--B--C--D 
repoB/master: X--Y--Z 

Result: A--B--C--D--X--Y--Z 

von

cd repoA 
git remote add repoB [email protected]:repoB 
git fetch repoB 
git checkout repoB/master # replace branch name if needed 
git rebase master # replace branch name if needed