Ich habe wie vor einem Monat einen neuen Zweig für meinen Code erstellt. Ich habe den Zweig feature1 aus dem Entwicklungszweig erstellt .
⇒ git branch
develop
* feature1
Ich arbeite jetzt seit einem Monat an Feature1 und viele Änderungen wurden vorgenommen, um den Zweig zu entwickeln . Wie kann ich mein aktuelles Zweig- Feature1 mit den neuesten Commits bei der Entwicklung eines Zweigs aktualisieren ?
Ich möchte den Master nicht auschecken und meinen Feature1- Zweig zusammenführen. Ich möchte auch nicht git cherry-pick verwenden , um Commits manuell von Develop auf Feature1 zu verschieben.
Irgendeine Hilfe ?
git merge develop
Entwickler ausgeführt wurde, wird der Tipp von feature1 aktualisiert, einschließlich des neuen Codes aus der Entwicklung. Dadurch kann der Entwickler mit aktuellem Code arbeiten. Die Zusammenführung wirkt sich in keiner Weise auf den Entwicklungszweig aus. Vielleicht möchte dieser Entwickler irgendwann in der Zukunft Feature1 in Develop zusammenführen (dh umgekehrt), um den Entwicklungstipp zu aktualisieren, und dies erfordert eine Überprüfung. Zu diesem Zeitpunkt wird in der Überprüfung festgelegt, welche temporären Zusammenführungs-Commits erstellt wurden, damit die Prüfer sehen können, wie sich die Entwicklung ändern wird.Zuerst müssen Sie Ihren Entwicklungszweig aktualisieren , dann Ihre Funktion auschecken und zusammenführen / neu starten.
Jetzt können Sie sich zwischen dem Laufen entscheiden :
Der Unterschied zwischen
merge
undrebase
besteht darin, dassmerge
alle Commits in Ihrem Zweig gespeichert werden. Dies ist wichtig, wenn Ihre Teil-Commits viele Inhalte enthalten, deren Aufbewahrung interessant sein kann.Die
rebase
Option ist in einigen Teams obligatorisch.Wenn Sie bereit sind, können Sie in Ihre eigene Filiale pushen (z. B. für eine Pull-Anfrage).
quelle
Dieser Anwendungsfall ist sehr hilfreich, um Ihren PR-Zweig auf dem neuesten Stand zu halten. Erstens würde ich Ihnen empfehlen, zuerst Ihre Remote-Änderungen abzurufen, dh
git fetch
dann zusammenzuführen oder neu zu startendevelop
, aber von der Remote- Änderung , zoder
Auf diese Weise aktualisieren Sie Ihren PR-Zweig, ohne zwischen den Zweigen hin und her zu wechseln.
quelle
NIEDERLASSUNGEN:
DEV ====> entwickeln
feature1 ====> funktioniert
SCHRITT 1 GIT SENDEN VON DER WEBSITE
Überprüft den Zweig, den Sie synchronisieren
Fügen Sie Dateien für das Commit hinzu
verpflichtet sich mit einer Beschreibung
Senden Sie an den Zweig, den Sie synchronisiert haben
SCHRITT 2 SYNCHRONISIEREN DES AKTUALISIERTEN ARBEITSZWEIGS MIT DEV (Entwicklung) - synchronisiert den Arbeitszweig mit dem Entwicklungszweig (aktualisiert den Entwicklungszweig)
Synchronisieren Sie mit der Fernbedienung und wechseln Sie zum DEV-Zweig
Fordern Sie an, den Zweig, den Sie synchronisieren, mit dem Zweig feature1 zusammenzuführen
Führen Sie den aktuellen Zweig mit dem Zweig feature1 zusammen
SCHRITT 3 GIT FINDEN DER FERNBEDIENUNG - Aktualisieren Sie den Arbeitszweig aus dem aktualisierten Entwicklungszweig
verbindet sich mit dem Referenzzweig
Änderungen suchen
Synchronisiert mit Ihrem Arbeitszweig
Anforderung, den Zweig, den Sie synchronisiert haben, mit dem DEV-Zweig zusammenzuführen
Führen Sie den aktuellen Zweig mit dem DEV-Zweig zusammen
quelle
Verwenden Sie das Auschecken ohne Zusammenführen, um bestimmte Dateien oder bestimmte Commits abzurufen. Ich habe es auf diese Weise versucht und es funktioniert!
Die Quelle .
quelle
Um zu vermeiden, dass sich die Commits durch eine einfache Zusammenführung entwickeln, habe ich festgestellt, dass der einfachere (weniger technischere ) Weg dies speziell ist, wenn Sie bereits Druck gemacht haben :
feature1_b
feature1
mitfeature1_b
feature1
Wenn Sie also Ihre PR
feature1_b
in Entwicklung entwickeln, werden nur Ihre neuen Änderungen und nicht die gesamte Geschichte der Commits angezeigt.Wenn Sie nicht gedrückt haben, ist die Antwort von @ stackdave eine gute Antwort.
quelle
quelle