2016-04-04 4 views
0

Diese Art ist ein Follow-up von: This questionGit Merge 2 repos Follow-up

Ich versuche, ein git Repo (Projekt-a) in einen anderen (probject-b) zu fusionieren. Projekt b war eine Kopie von Projekt-a.

Speziell für diese Antwort: Wenn Sie Projekt-a in Projekt-b zusammenführen möchten:

cd path/to/project-b 
git remote add project-a path/to/project-a 
git fetch project-a 
git merge project-a/master # or whichever branch you want to merge 
git remote remove project-a 

Es ist sehr wichtig, dass Projekt-b des Code-Projekt-a nicht zurückgehen.

Würde diese Lösung nur alle Aktualisierungen von Project-a in Projekt-B zusammenführen, aber die Aktualisierungen von Projekt-B nicht wieder in Projekt-A zusammenführen?

Antwort

1

Die Antwort ist ja. Sie haben Projekt-a als Fernbedienung hinzugefügt und Sie haben den Inhalt abgerufen, aber Sie haben ihn nicht berührt. SO ja nur Projekt-B wird betroffen und Projekt-A ist wie es war.

Insbesondere wenn Sie wollen das Projekt-a Änderungen an Ihrem Projekt-b/X Zweig fusionieren, dies zu tun (das Überspringen Teile Remote hinzufügen/entfernen)

git checkout X 
    git merge project-a/X (or whatever branch you want to merge) 

Dann wieder das Projekt-a/X Änderungen kamen zu Projekt-B/X und Projekt-A wurde nicht beeinflusst.

+0

Danke! Wird es nicht auch alle Änderungen löschen, die ich an Project-B vorgenommen habe? Bedeutung, es wird mir erlauben, auf der Seite von Projekt-B, wenn es einen Konflikt gibt, Fehler zu machen? – Chemdream

+0

ja genau. Es wird versuchen, Dinge zu verschmelzen, wenn es nicht möglich ist, wird es über Konflikte warnen und darauf warten, dass Sie Ihre Zusammenführung manuell durchführen. Siehe: https://git-scm.com/docs/git-merge – yerlilbilgin

+1

Follow-up: Dies funktionierte perfekt für mich. – Chemdream