Git führt zwei lokale Zweige zusammen


145

Ich habe Zweig Master, Zweig A und Zweig B. Jetzt arbeite ich in Zweig A und muss Zweig A mit Zweig B zusammenführen und meine Arbeit in Zweig A fortsetzen. Alle Dateien werden in Zweig A und B festgeschrieben.

Was ist der schnelle Weg, um es zu implementieren?

Antworten:


246

Wenn ich Ihre Frage verstanden habe, möchten Sie sich branchBmit ihr verbinden branchA. Um dies zu tun, checken Sie zuerst branchAwie unten aus,

git checkout branchA

Dann führen die folgenden Befehl zu fusionieren branchBin branchA:

git merge branchB

3
Wir müssen sicherstellen, dass die Zweige A und B im lokalen Repository vorhanden sind. Nur dann können wir eine Zusammenführung durchführen.
Santhosh

8
Die Frage ist explizit:I have branch Master, branch A and branch B.
LeeGee

165

Hier ist ein klares Bild:

Angenommen, wir haben Zweig A und Zweig B.

Wir wollen Zweig B in Zweig A zusammenführen

on branch-B -> A: switch to branch-A

on branch-A: git merge branch-B

32
das ist überhaupt nicht klarer,
poste

9
Diese Antwort ist nicht klar genug ... was bedeutet es, "Zweig B aktualisieren" ... es gibt viele Möglichkeiten, dies zu tun, welche? ... anstelle von Switch Git Checkout Zweig A ist verständlicher
Erdinç Çorbacı

2

Die Antwort des Abiraman war absolut richtig. Neulinge können jedoch vergessen, das Repository abzurufen. Wann immer Sie eine Zusammenführung von Zweig B zu Zweig A durchführen möchten. Zuerst auschecken und von Zweig B ziehen (Stellen Sie sicher, dass Ihr Zweig mit dem Remote-Zweig aktualisiert ist).

git checkout branchB
git pull

Jetzt wird Ihr lokaler Zweig B mit dem Remote-Zweig B aktualisiert. Jetzt können Sie zu Zweig A auschecken

git checkout branchA

Jetzt befinden Sie sich in Zweig A und können mit dem folgenden Befehl mit Zweig B zusammengeführt werden

git merge branchB

0

Wenn Sie oder ein anderer Entwickler nicht weiter an branchB arbeiten, ist es meiner Meinung nach besser, Commits beizubehalten, um ohne Kopfschmerzen ein Zurücksetzen durchzuführen. So ;

git checkout branchA
git pull --rebase branchB

Es ist wichtig, dass branchB nicht mehr verwendet wird.

Für mehr ; https://www.derekgourlay.com/blog/git-when-to-merge-vs-when-to-rebase/


1
In seinem Titel bezieht sich die Frage auf lokale Repositories - für die pullnicht funktionieren wird.
LeeGee

2
Sie haben Recht, ich dachte nur, dieses Wissen hinzuzufügen wäre ein Plus, weil wahrscheinlich die lokale Niederlassung am Ende geschoben wird. Aber ich habe den von Ihnen angegebenen Punkt verpasst. Ich sollte dies besser als Kommentar und nicht als Antwort hinzufügen. Danke, dass du mich gewarnt hast.
Erdinç Çorbacı

0

auf Zweig B tun $git checkout branchA, um zu Zweig A zu wechseln

auf branchA do $git merge branchB

Das ist alles was du brauchst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.