Wie aktualisiere ich meinen funktionierenden Git-Zweig von einem anderen Zweig (Entwicklung)?
Lesezeit: 5 Minuten
Eki Eqbal
Ich habe einen neuen Zweig mit dem Namen erstellt feature1 von der Hauptsache develop Filiale vor einem Monat.
⇒ git branch
develop
* feature1
Ich habe daran gearbeitet feature1 seit einem Monat und es wurden viele Änderungen vorgenommen develop.
Wie kann ich meinen aktuellen Zweig aktualisieren feature1 mit den neusten Commits von develop?
ICH MÖCHTE NICHT zur Kasse gehen master und meine zusammenführen feature1 darin verzweigen. Möchte ich auch nicht verwenden git cherry-pick um Commits manuell zu verschieben develop zu feature1.
Wie würde ich vorgehen?
Sie führen einfach Develop mit Feature1 zusammen:
git checkout feature1
git merge develop
Es ist nicht erforderlich, einen anderen Zweig wie Master einzubeziehen.
Aber das wird alle Commits von Develop in den Branch platzieren
– htafoya
7. Februar 2020 um 21:13 Uhr
Natürlich wird es. Die Frage war im Wesentlichen “wie kann ich alle Commits von Develop in den Branch platzieren”.
– musikk
11. Februar 2020 um 7:20 Uhr
Nein, ist es nicht, es war “Ich arbeite in Zweig X, aber ich möchte, dass dieser Zweig die neuesten Updates von der Entwicklung hat”. Wenn Sie eine PR zur Entwicklung durchführen, möchten Sie nur Ihre Zweig-Commits und nicht den gesamten Verlauf der Commits haben
– htafoya
12. Februar 2020 um 18:32 Uhr
Ich meine. der aktuelle Stand von „develop“ wird in „feature1“ sein, aber die Commits wurden dort nicht generiert. Bei der Zusammenführung sieht es so aus, als ob all diese Entwicklungs-Commits in „feature1“ generiert wurden.
– htafoya
13. Februar 2020 um 23:25 Uhr
Entschuldigung, ich glaube, ich habe schlecht erklärt. Lassen Sie es mich noch einmal versuchen … nachdem die Entwicklung läuft git merge develop, wird der Tipp von feature1 aktualisiert, einschließlich des neuen Codes von developer. Dadurch kann der Entwickler mit aktuellem Code arbeiten. Der Merge wirkt sich in keiner Weise auf den Entwicklungszweig aus. Vielleicht möchte dieser Entwickler irgendwann in der Zukunft Feature1 mit Develop (dh andersherum) zusammenführen, um den Tipp von Develop zu aktualisieren, und dies erfordert eine Überprüfung. An diesem Punkt werden alle erstellten temporären Merge-Commits in der Überprüfung angegeben, damit die Prüfer sehen können, wie sich die Entwicklung ändern wird.
– Michael
14. Februar 2020 um 0:28 Uhr
Stackdave
Zuerst müssen Sie Ihre aktualisieren sich entwickeln Filiale, dann Kasse Ihre Besonderheit und es zusammenführen/rebasieren.
merge: speichert den Verlauf aller Commits aus Ihrem Zweig, und das ist wichtig, wenn Ihre partiellen Commits viele Inhalte enthalten, die interessant sein können, aufzubewahren.
rebase: Rebase bedeutet, den Commit-Verlauf von zu löschen feature und haben stattdessen die Geschichte aus develop; Diese Option ist in einigen Teams obligatorisch.
Wenn Sie bereit sind, können Sie zu Ihrem eigenen Zweig pushen (z. B. für einen Pull-Request).
git push origin feature/myfeature
Ich denke, dies ist eine bessere Lösung als die vorgesehene Antwort.
– csg
10. November 2020 um 14:11 Uhr
Rebase bedeutet das Löschen des Commit-Verlaufs aus feature und haben stattdessen die Geschichte aus develop
–Timo
13. Juli 2021 um 8:37 Uhr
EliuX
Dieser Anwendungsfall ist sehr hilfreich, um Ihre PR-Branche auf dem Laufenden zu halten. Zunächst würde ich Ihnen empfehlen, zuerst Ihre Remote-Änderungen abzurufen, dh git fetch
und dann zusammenführen oder rebasen von developaber von der entfernten, zB
git rebase -i origin/develop
oder
git merge origin/develop
Auf diese Weise aktualisieren Sie Ihren PR-Zweig, ohne zwischen den Zweigen hin und her gehen zu müssen.
git rebase ist wie Merge, oder? aber das gleiche passiert,
– Kavindu Gayantha
17. April 2020 um 4:51 Uhr
Im git rebase schreibst du die Historie deines Branches mit einem Mix aus den 2 um, beim Merge wendest du einfach die Änderungen des anderen Branches in deinem neuen Merge-Commit an.
– Eliux
17. April 2020 um 5:51 Uhr
Wenn Sie das nicht wollen develop Kopf und die feature1 Kopf wird beides verschmelzen feature1aber stattdessen möchten Sie, dass jeder Zweigkopf beim “Aktualisieren” getrennt bleibt feature1 Verzweigung mit der letzten Bearbeitung von developverwenden kein Vorlauf:
Ich persönlich versuche zu verwenden --no-ff Jedes Mal, wenn ich eine Zusammenführung durchführe, weil dies meiner Meinung nach die Historie ziemlich sauber hält.
Laudiocinio Carvalho
ZWEIGE:
DEV ====> entwickeln
feature1 ====> funktioniert
SCHRITT 1
GIT SENDEN VON DER WEBSITE
überprüft den Zweig, den Sie synchronisieren
git status
Dateien für den Commit hinzufügen
git add .
verpflichtet sich mit einer Beschreibung
git commit -m "COMMENT"
an die Zweigstelle senden, die Sie synchronisiert haben
git push
SCHRITT 2
SYNCHRONIZING THE UPDATED WORK BRANCH WITH DEV (development) – Synchronisiert den Working-Branch mit dem Development-Branch (aktualisiert den Development-Branch)
mit der Fernbedienung synchronisieren und zum DEV-Zweig wechseln
git checkout DEV
anfordern, den Branch, den Sie synchronisieren, mit dem Feature1-Branch zusammenzuführen
git merge feature1
Führen Sie den aktuellen Zweig mit dem Feature1-Zweig zusammen
git push
SCHRITT 3
GIT FINDING THE REMOTE – Aktualisieren Sie den Arbeitszweig aus dem aktualisierten Entwicklungszweig
verbindet sich mit dem Referenzzweig
git checkout DEV
Änderungen suchen
git pull
Synchronisiert mit Ihrem Arbeitszweig
git checkout feature1
Anforderung zum Zusammenführen des Zweigs, den Sie mit dem DEV-Zweig synchronisieren
git merge DEV
Führen Sie den aktuellen Zweig mit dem DEV-Zweig zusammen
git push
Midi-
Folgen Sie in IntelliJ IDEA einfach diesen Schritten:
Öffnen Sie das Git-Toolfenster (Ansicht->Toolfenster->Git)
Wählen Sie “Protokoll”
Rechtsklick auf “Entwickeln”
klicken Sie auf entweder
-Merge ‘develop’ auf ‘feature1’ (behält den gesamten Commits-Verlauf von deinem Zweig)
oder
– Rebasiere ‘develop’ in ‘feature1’ (löscht den Commit-Verlauf aus deinem Branch und habe stattdessen den Verlauf von Develop)
Endlich Git-Push
Um zu vermeiden, dass die Commits durch eine einfache Zusammenführung entwickelt werden, habe ich festgestellt, dass je einfacher (weniger technisch versierter) Weg, es zu tun ist besonders, wenn Sie bereits gedrückt haben:
Ändern Sie, um sich zu entwickeln, und stellen Sie sicher, dass Sie die neuesten Änderungen vorgenommen haben
Erstellen Sie einen weiteren Zweig von developer , feature1_b
Verschmelzen feature1 zu feature1_b
Löschen Sie, wenn Sie Original wünschen feature1
Also, wenn Sie Ihre PR von machen feature1_b zu entwickeln, enthält es nur Ihre neuen Änderungen und nicht den gesamten Verlauf der Commits.
Wenn Sie nicht gepusht haben, ist die Antwort von @stackdave eine gute Antwort.
13218100cookie-checkWie aktualisiere ich meinen funktionierenden Git-Zweig von einem anderen Zweig (Entwicklung)?yes