Git – Behebung eines Konflikts zwischen Master- und Feature-Branch vor der Pull-Anfrage
Lesezeit: 2 Minuten
Ich muss eine Pull-Anfrage an ein Repo stellen. Ich habe das Projekt geklont und es hat nur einen Zweig: master
Ich bezahle eine neue Filiale feature und übertrage meine Änderungen in diesen Zweig.
Ich schiebe meinen Zweig auf Github und kann jetzt eine Pull-Anfrage stellen. Also mache ich es, aber es sagt mir jetzt, dass ich Konflikte habe.
Ich verstehe das Problem. master liegt vorn feature weil ich die letzten vorgenommenen Änderungen nicht übernommen habe, um sie zu beherrschen, als ich daran gearbeitet habe feature.
Wie kann ich es reparieren ? Wie kann ich die letzten Änderungen des Masters in mein „ziehen“. feature Zweig ?
Sie müssen lokal zusammenführen oder eine neue Basis erstellen und das Ergebnis übertragen.
– CollinD
29. November 2016 um 11:05 Uhr
Behebung durch Zusammenführung:
git fetch origin # gets latest changes made to master
git checkout feature # switch to your feature branch
git merge master # merge with master
# resolve any merge conflicts here
git push origin feature # push branch and update the pull request
Behebung per Rebase:
git fetch origin # gets latest changes made to master
git checkout feature # switch to your feature branch
git rebase master # rebase your branch on master
# complete the rebase, fix merge conflicts, etc.
git push --force origin feature
Beachten Sie sorgfältig, dass die --force Option für den Push nach dem Rebasing ist wahrscheinlich erforderlich, da das Rebasing die Datei effektiv neu schreibt feature Zweig. Das bedeutet, dass Sie Ihren alten Zweig in GitHub durch Force-Pushing überschreiben müssen.
Unabhängig davon, ob Sie einen Merge oder einen Rebase durchführen, sollten die Konflikte anschließend gelöst sein und Ihr Prüfer sollte in der Lage sein, den Pull-Request abzuschließen.
Hey, ich komme hierher. Gleicher Fall, aber nach beiden Fixes erhalte ich einen Feature-Zweig mit Commits von anderen Zweigen, die vorher nicht in seinem Verlauf waren. Irgendeine Ahnung, warum das so sein könnte?
Sie müssen lokal zusammenführen oder eine neue Basis erstellen und das Ergebnis übertragen.
– CollinD
29. November 2016 um 11:05 Uhr