Ich arbeite derzeit an einer featurex
Niederlassung. Unsere Hauptniederlassung heißt Niederlassung our-team
. Seit ich anfange zu arbeiten featurex
, wurden weitere Änderungen an der Verzweigung vorgenommen our-team
. Bevor ich featurex
auf das Zusammenführen dränge, möchte ich lokal alle Änderungen vom our-team
Zweig in übernehmen, featurex
damit ich sicherstellen kann, dass alles wie erwartet funktioniert.
Ich habe dies lokal getan, um die neuesten Änderungen von zu erhalten our-team
.
git checkout our-team
git pull
Wie kann ich das machen?
Antworten:
Sie können Rebase beispielsweise verwenden,
git rebase our-team
wenn Sie sich in Ihrer Niederlassung befindenfeaturex
Dadurch wird der Startpunkt des Zweigs am Ende Ihres
our-team
Zweigs verschoben und alle Änderungen in Ihremfeaturex
Zweig zusammengeführt.quelle
git checkout our-team git pull git checkout featurex git merge our-team
our-team
, müssten Siegit fetch && git rebase origin/our-team
stattdessen ausführen . Ihre Befehle setzen voraus, dass das Repository zuvor aktualisiert wurde.Gehe zur Hauptniederlassung
our-team
Ziehen Sie alle neuen Änderungen aus dem
our-team
ZweigGeh in deine Filiale
featurex
featurex
Führen Sie die Änderungen von
our-team
Zweig zufeaturex
Zweig zusammenour-team
{commit-hash}
wenn Sie bestimmte Commits zusammenführen möchtenSchieben Sie Ihre Änderungen mit den Änderungen der
our-team
VerzweigungHinweis : Wahrscheinlich müssen Sie Konflikte beheben, nachdem Sie
our-team
Zweig infeaturex
Zweig zusammengeführt haben, bevor Sie einen Push ausführenquelle
oder
Aber zuerst sollten Sie sicherstellen, dass Sie sich bereits in dem Zweig befinden, auf den Sie aktualisieren möchten (featurex).
quelle
Du bist fast am Ziel :)
Alles was übrig bleibt ist zu
Dadurch wird unser Team in featurex zusammengeführt.
Das oben Gesagte setzt voraus, dass Sie Ihre Änderungen in featurex bereits festgeschrieben / gespeichert haben. Wenn dies nicht der Fall ist, müssen Sie dies zuerst tun.
quelle
Für andere Leute, die auf diesen Beitrag bei Google stoßen. Es gibt zwei Möglichkeiten, entweder Ihren Zweig zusammenzuführen oder neu zu gründen . Beide funktionieren unterschiedlich, haben aber ähnliche Ergebnisse.
Die akzeptierte Antwort ist eine Rebase . Dadurch werden alle vorgenommenen Festschreibungen übernommen
our-team
und anschließend die vorgenommenen Festschreibungen angewendetfeaturex
, sodass Sie aufgefordert werden, sie nach Bedarf zusammenzuführen.Eine kleine Einschränkung beim Umbasieren ist, dass Sie Ihren Zweigverlauf verlieren / neu schreiben, was git im Wesentlichen mitteilt, dass Ihr Zweig nicht bei Commit 123abc, sondern bei Commit 456cde begonnen hat. Dies führt zu Problemen für andere Personen, die in der Zweigstelle arbeiten, und einige Remote-Tools beschweren sich darüber. Wenn Sie sich jedoch sicher sind, was Sie tun, ist die
--force
Flagge dafür gedacht.Was andere Poster vorschlagen, ist eine Zusammenführung . Dadurch wird der
featurex
Zweig mit dem Status, in dem er sich befindet, zusammengeführt und versucht, ihn mit dem aktuellen Status von zusammenzuführen. Dadurch werdenour-team
Sie aufgefordert, ein großes Zusammenführungs-Commit durchzuführen und alle Zusammenführungsfehler zu beheben, bevor Sie zu wechselnour-team
. Der Unterschied besteht darin, dass Sie Ihrefeaturex
Commits vor denour-team
neuen Commits anwenden und dann die Unterschiede beheben. Sie schreiben den Verlauf auch nicht neu, sondern fügen stattdessen ein Commit hinzu, anstatt die vorherigen neu zu schreiben.Beide Optionen sind gültig und können zusammenarbeiten. Was normalerweise (damit meine ich, wenn Sie weit verbreitete Tools und Methoden wie Git-Flow verwenden ) für einen Feature-Zweig durchgeführt wird, ist, ihn in den Hauptzweig zusammenzuführen, häufig eine Zusammenführungsanforderung zu durchlaufen und alle Konflikte zu lösen die zu einem (oder mehreren) Merge-Commits führen.
Rebasing ist eine interessante Option, die Ihnen dabei helfen kann, Ihren Zweig zu reparieren, bevor Sie eine Zusammenführung durchführen, und die Schmerzen bei einem großen Zusammenführungs-Commit lindert.
quelle