Oto jak rebasedziała:
git checkout <my branch>
git rebase master
git checkout master
git merge <my branch>
Załóżmy, że masz
---o----o----o----o master
\---A----B <my branch>
Pierwsze dwa polecenia ... zatwierdzają polecenie git checkout git rebase master
... sprawdź gałąź zmian, którą chcesz zastosować do mastergałęzi. rebaseKomenda bierze rewizje u <my branch>(które nie występują w master) i występuje ponownie je na głowę master. Innymi słowy, rodzic pierwszego zatwierdzenia w <my branch>nie jest już poprzednim zatwierdzeniem w masterhistorii, ale bieżącym szefem master. Te dwa polecenia są takie same jak:
git rebase master <my branch>
Może być łatwiej zapamiętać to polecenie, ponieważ gałęzie „podstawowa” i „modyfikująca” są jawne.
. Ostateczny wynik historii to:
---o----o----o----o master
\----A'----B' <my branch>
Ostatnie dwa polecenia ...
git checkout master
git merge <my branch>
... wykonaj szybkie przewijanie do przodu, aby zastosować wszystkie <my branch>zmiany master. Bez tego kroku zatwierdzenie rebase nie zostanie dodane do master. Ostateczny wynik to:
---o----o----o----o----A'----B' master, <my branch>
masteri <my branch>oba odniesienia B'. Od tego momentu można bezpiecznie usunąć <my branch>odwołanie.
git branch -d <my branch>
--cachedpodczas sprawdzaniagit diff. link