Git: Änderungen von einem anderen Zweig erhalten


80

Ich habe ein Projekt, das Git verwendet, und ich möchte einen neuen Zweig starten, um eine wichtige neue Funktion hinzuzufügen.

Unter dem mainZweig werde ich weiterhin Fehlerbehebungen und kleinere Funktionen hinzufügen. In regelmäßigen Abständen möchte ich die Änderungen aus dem Hauptzweig in meinen Zweig "Hauptneuheit" übernehmen. Was ist der beste Weg, dies zu tun?

Schließlich werde ich den Zweig "Hauptneuheit" mit dem Hauptzweig zusammenführen.

Antworten:


57

git checkout featurebranch && git merge master

Sie können dies so oft tun, wie Sie möchten. Dies wirkt sich nicht auf den Master aus, und Sie können es problemlos umgekehrt ausführen, wenn Sie feststellen, dass Sie mit dem Feature-Zweig fertig sind.


29
git rebase masterkann wünschenswerter sein als git merge masterzur Vereinfachung der späteren Integration zurück in den Hauptzweig.
Amber

114
git checkout featurebranch && git rebase master

Solange Sie noch nicht gepusht haben, ist es besser, Ihre Änderungen über dem Master abzuspielen.

Sehen:


1
Können Sie neuere Änderungen mit Git Rebase oder nur mit Git Merge erhalten?
Keflavich

@keflavich Da Sie featurebranchauf Master aufbauen , erhalten Sie die neuesten Commits von master. Eine Zusammenführung wäre ähnlich, würde aber später zu einer etwas komplexeren Integration führen master.
VonC

2
Hallo! Ich bin ein Git-Neuling. Können Sie näher darauf eingehen, as long as you haven't pushed yet?dass ich einen Feature-Zweig habe, den ich zur Sicherung an ein Remote-Repo gesendet habe? Kann ich git rebase masterdann weitermachen, dann etwas festschreiben und etwas Arbeit an meinen Feature-Zweig senden git rebase master? Ich muss auch andere Feature-Zweige in meinen Zweig einbinden!
Brad Parks

@GringoSuave Ja, wenn Sie nicht der einzige sind, der an diesem Feature-Zweig arbeitet. Im Allgemeinen sollten Sie nur das zurücksetzen, was Sie noch nicht gepusht haben (es sei denn, Sie sind der einzige, der daran arbeitet)
VonC
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.