Bitbucket - Synchronisation Verzweigung mit einem Zweig
Kann dies ein Duplikat von Wie man ein git branch in sync mit master (ich nehme an, ich kann es nur ersetzen, Master mit dem anderen Zweig), aber es ist wichtig, dass diese funktioniert und nicht Zusammenführen falsch herum, so muss ich um sicher zu gehen.
Szenario
Gab es eine Filiale genannt v1
, und ich erstellte ein Ableger, genannt v1_adminui
. Ich habe rund 10 commits zu meinem Zweig v1_adminui
, aber eine wesentliche Verbesserung für den anderen Teil des Projektes wurde in v1
, damit ich Synchronisieren möchten, dass zu ändern mit meinen aktuellen branch.
Glaube ich, dass die folgenden es tun würde:
git checkout v1
git pull
git checkout v1_adminui
git merge v1
Bitte können Sie bestätigen, ob dies richtig ist? Wenn nicht, jede mögliche Hilfe würde geschätzt werden, wie Sie dies bewerkstelligen.
- Wenn v1_adminui ist eine örtliche Niederlassung, ich würde es tun, durch rebasierung
v1_adminui
obenorigin/v1
wie vorgeschlagen, eine andere Antwort auf die Frage, die du verlinkt: stackoverflow.com/a/16330782/5085250. v1_adminui
wurde auf bitbucket und holte dann ausgecheckt. Allerdings bin ich der einzige, derv1_adminui
im team. Sollte ich noch versuchen, das rebase-Lösung? Ich nehme an, der Befehl zu verwenden istgit rebase v1_adminui/v1
- Wenn Ihr branch ist auf bitbucket (mit alle commits!), Sie können versuchen, verschiedene Ansätze, ohne etwas kaputt zu machen. Wenn etwas schief geht, können Sie eine
git reset origin/<branchname>
und versuchen Sie es erneut. - Wäre der Befehl
git checkout v1_adminui
danngit rebase origin/v1
. Bei Ihrem lokalenv1_adminui
Zweig ist zurückgesetzt, um denorigin/v1
Zweig. - Auf der folgenden Seite Stellungswechsel vs merge ist sehr gut erklärt.
- Nicht upvote Kommentare so durch havogt. Für andere mit diesem Problem finden Sie die akzeptierten Antworten, es baut auf dem rebase-Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da Sie die einzigen sind, die Arbeit an diesem Zweig, die Sie verwenden sollten
rebase
stattmerge
.Müssen Sie möglicherweise verwenden Sie die
--force
option, wenn man in den letzten Schritt. Da Sie das umschreiben der Zweig, der die Geschichte mit dem Stellungswechsel, den remote-branch wird eine andere Geschichte. Tun Sie dies nur, wenn niemand anderes mit diesem Zweig!git rebase --continue app/index.html: needs merge app/v1/js/controllers/AdminCtrl.js: needs merge app/v1/js/models/AdminModel.js: needs merge app/v1/views/admin/admin.html: needs merge You must edit all merge conflicts and then mark them as resolved using git add
git add .
. Sobald das geschehen ist, fahren Sie den rebase mitgit rebase --continue
.git status # On branch v1_adminui # Your branch and 'origin/v1_adminui' have diverged, # and have 15 and 7 different commits each, respectively. # nothing to commit (working directory clean)
--force
Flagge, wie beschrieben in meiner Antwort.+ cca309a...1018fb6 master -> master (forced update)
v1_adminui
code (war es vorher auch). Es war nicht wirklich ändern, nur das ziehen ändert. Ich nicht denke, das wäre ein Problem, aber es sieht aus wie es war.... die Kraft zu haben scheint, beeinflusst es und jetzt kann er nicht ziehenv1_adminui
. Irgendeine Idee wie man das umgehen kann? Würde ich in den Papierkorb, und erstellen Sie anschließend das Projekt?git reset --hard origin/v1_adminui
hat den job