Ich habe ein Projekt aus dem Hauptzweig aus dem Remote-Repository remote_repo
geklont. Ich erstelle einen neuen Zweig und verpflichte mich zu diesem Zweig. Andere Programmierer haben auf remote_repo
gedrückt, um die Verzweigung zu meistern. Ich muss jetzt meinen Zweig RB auf remote_repo
master umbasen. Wie macht man das ? Welche Befehle müssen an das Terminal eingegeben werden?
Holen Sie sich zuerst den neuen Master aus dem Upstream-Repository und bauen Sie dann Ihren Arbeitszweig darauf auf:
git fetch Origin # Updates Origin/master
git rebase Origin/master # Rebases current branch onto Origin/master
Aktualisieren: Bitte lesen Sie Paul Drapers Antwort , um eine präzisere Vorgehensweise zu finden. Neuere Git-Versionen bieten eine einfachere Möglichkeit, das Äquivalent der beiden oben genannten Befehle auszuführen.
git pull --rebase Origin master
# where --rebase[=(false|true|merges|preserve|interactive)]
Nachdem Sie die Änderungen in Ihrer Filiale vorgenommen haben, überprüfen Sie den Master und ziehen Sie ihn, um die Änderungen aus dem Repository zu übernehmen:
git checkout master
git pull Origin master
Dann checke deine Filiale aus und stütze deine Änderungen auf master:
git checkout RB
git rebase master
oder die letzten beiden Befehle in einer Zeile:
git rebase master RB
Hinweis: Wenn Sie bereits umfassende Kenntnisse über Rebase haben, verwenden Sie unter einem Liner für eine schnelle Rebase. Lösung: Angenommen, Sie sind in Ihrem Arbeitsbereich und Sie sind die einzige Person, die daran arbeitet.
git fetch && git rebase Origin/master
Lösen Sie Konflikte, testen Sie Ihren Code, übernehmen Sie und übertragen Sie neue Änderungen in den Remote-Zweig.
~: For noobs :~
Die folgenden Schritte könnten jedem helfen, der git rebase
noch nicht kennt und dies ohne Probleme tun wollte
Schritt 1: Angenommen, es sind zu diesem Zeitpunkt keine Commits und Änderungen an YourBranch erforderlich. Wir besuchen YourBranch.
git checkout YourBranch
git pull --rebase
Was ist passiert? Übernimmt alle Änderungen, die von anderen Entwicklern an Ihrem Zweig vorgenommen wurden, und baut Ihre Änderungen darauf auf.
Schritt 2: Lösen Sie alle auftretenden Konflikte.
Schritt 3:
git checkout master
git pull --rebase
Was ist passiert? Ruft die neuesten Änderungen vom Remote-Master ab und setzt den lokalen Master auf den Remote-Master um. Ich halte Remote Master immer sauber und releasebereit! Und arbeiten Sie lieber nur am Master oder in Zweigstellen vor Ort. Ich empfehle, dies zu tun, bis Sie eine Hand auf Git-Änderungen oder Commits bekommen. Hinweis: Dieser Schritt ist nicht erforderlich, wenn Sie keinen lokalen Master verwalten. Stattdessen können Sie einen Remote-Master direkt in einer lokalen Verzweigung abrufen und neu konfigurieren. Wie ich gleich zu Beginn erwähnte.
Schritt 4: Lösen Sie alle auftretenden Konflikte.
Schritt 5:
git checkout YourBranch
git rebase master
Was ist passiert? Neustart auf Master passiert
Schritt 6: Lösen Sie etwaige Konflikte, wenn Konflikte vorliegen. Verwenden Sie git rebase --continue
, um die Wiederherstellung fortzusetzen, nachdem Sie die gelösten Konflikte hinzugefügt haben. Sie können jederzeit git rebase --abort
verwenden, um die Rebase abzubrechen.
Schritt 7:
git Push --force-with-lease
Was ist passiert? Änderungen auf Ihre Remote-YourBranch übertragen. --force-with-lease
prüft, ob andere Entwickler Änderungen für YourBranch vornehmen, während Sie die Basis neu einrichten. Dies ist sehr nützlich, anstatt Push zu erzwingen. Wenn Änderungen eingehen, rufen Sie diese ab, um Ihre lokale YourBranch zu aktualisieren, bevor Sie die Änderungen übertragen.
Warum muss ich Änderungen pushen? Um die Festschreibungsmeldung in Remote-YourBranch nach ordnungsgemäßem Neustart oder nach Behebung von Konflikten neu zu schreiben? Dann müssen Sie die Änderungen, die Sie im lokalen Repo vorgenommen haben, in das Remote-Repo von YourBranch übertragen
Yahoooo ...! Du bist erfolgreich mit dem Umbasieren fertig.
Möglicherweise möchten Sie auch Folgendes tun:
git checkout master
git merge YourBranch
Wann und Warum? Fügen Sie Ihre Filiale in master ein, wenn Sie und andere Mitentwickler Änderungen vorgenommen haben. Dadurch ist YourBranch mit dem Master auf dem neuesten Stand, wenn Sie später an demselben Zweig arbeiten wollten.
~: (๑ơ ₃ ơ)♥ rebase :~
git fetch Origin master:master
ruft die neueste Version von master ab, ohne sie auschecken zu müssen.
Alles was Sie brauchen ist:
git fetch Origin master:master && git rebase master
????
1.Master zuerst aktualisieren ...
git checkout [master branch]
Git Pull [Master Branch]
2.Jetzt Source-Branch mit Master-Branch rebasieren
git checkout [Quellzweig]
Git Rebase [Master Branch]
git pull [Quellzweig] (Remote-/Quellzweig)
git Push [Quellzweig]
WENN der Quellenzweig noch nicht existiert, dann mache:
git Push -u Origin [Quellzweig]
"et voila ..."