Ich brauche zwei Git Repositories in ein brandneues, drittes Repository zusammenführen. Ich folgte den folgenden Anweisungen und sie funktionieren, aber das Ergebnis ist nicht das, was ich erwartet habe. Merge two Git repositories without breaking file historyMischen Sie zwei Git-Repositories und behalten Sie den Master-Verlauf
Blick auf diese:
Der Master ist nicht alligned.
- Ist es möglich, alles auf dem gleichen Master zusammenzuführen?
- Ich möchte eine saubere Geschichte auf dem Master haben.
Sie sind frei zu meinem Beispiel Repository auf Github verwenden:
Das ist mein fusionierte Ergebnis.
Dies ist die Situation, die ich haben möchte: (lackierte Lösung !!!)
Wie ich zum laufenden bekam Situation:
# Assume the current directory is where we want the new repository to be created
# Create the new repository
git init
# Before we do a merge, we have to have an initial commit, so we'll make a dummy commit
dir > Read.md
git add .
git commit -m "initial commit"
# Add a remote for and fetch the old RepoA
git remote add -f RepoA https://github.com/DimitriDewaele/RepoA
# Merge the files from RepoA/master into new/master
git merge RepoA/master --allow-unrelated-histories
# Do the same thing for RepoB
git remote add -f RepoB https://github.com/DimitriDewaele/RepoB
# Merge the files from RepoB/master into new/master
git merge RepoB/master --allow-unrelated-histories
Alle Hilfe wird geschätzt!
UPDATE: ANTWORT
Die richtige Antwort ist, statt merge rebase.
Code:
# Rebase the working branch (master) on top of repoB
git rebase RepoB/master
# Rebase teh working branch (master with RepoB) on top op repoA
git rebase RepoA/master
Ein Problem bleibt. Der 2. Repo verliert die Elternansicht. Ich schrieb eine Follow-up-Frage hierzu: Merge two Git repos and keep the history
Können Sie genauer erklären, was Sie erwartet haben und wie das anders ist? –
Sie haben alles auf einem Master, ich bin mir nicht sicher, was Sie mit "ausgerichtet" meinen - versuchen Sie, die RepoA und RepoB-Fernbedienungen von Ihrem lokalen entfernt und dann sehen, wie das Diagramm aussieht. – Adrian
Ich habe eine 'gemalte Lösung' hinzugefügt –