So rebase
funktioniert 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 master
Zweig anwenden möchten . Der rebase
Befehl 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 master
Historie, 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>
master
und <my branch>
beide Referenz B'
. Ab diesem Punkt ist es auch sicher, die <my branch>
Referenz zu löschen .
git branch -d <my branch>
--cached
beim Überprüfen nichtgit diff
. Link