So rebasefunktioniert es:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Angenommen, Sie haben
---o----o----o----o master
\---A----B <my branch>
Die ersten beiden Befehle ... Commit Git Checkout Git Rebase Master
... überprüfen Sie den Zweig der Änderungen, die Sie auf den masterZweig anwenden möchten . Der rebaseBefehl nimmt die Commits von <my branch>(die nicht in gefunden werden master) und wendet sie erneut auf den Kopf von an master. Mit anderen Worten, das übergeordnete Element des ersten Commits in <my branch>ist kein vorheriges Commit mehr in der masterHistorie, sondern der aktuelle Leiter von master. Die beiden Befehle sind dieselben wie:
git rebase master <my branch>
Es ist möglicherweise einfacher, sich an diesen Befehl zu erinnern, da sowohl die Zweige "base" als auch "modify" explizit sind.
. Das endgültige Ergebnis der Geschichte ist:
---o----o----o----o master
\----A'----B' <my branch>
Die letzten beiden Befehle ...
git checkout master
git merge <my branch>
... führen Sie eine Schnellvorlaufzusammenführung durch, um alle <my branch>Änderungen zu übernehmen master. Ohne diesen Schritt wird das Rebase-Commit nicht hinzugefügt master. Das Endergebnis ist:
---o----o----o----o----A'----B' master, <my branch>
masterund <my branch>beide Referenz B'. Ab diesem Punkt ist es auch sicher, die <my branch>Referenz zu löschen .
git branch -d <my branch>
--cachedbeim Überprüfen nichtgit diff. Link