Tento úkol slouží k osvojení základní varianty operace rebase.
git clone https://repo.gitc.cz/simple.git
vetev (vytvoří lokální větev):git branch -t vetev origin/vetev
git remote remove origin
Pokud byste nyní provedli merge větve vetev do větve master (sekvence příkazů git checkout master ; git merge vetev), vznikne merge commit. Pokuste se pomocí operace git rebase přesunout commity tak, aby bylo možné provést merge do větve master (sekvenci příkazů git checkout master ; git merge vetev) tak, aby se jednalo o fast-forward merge.
Pro zvládnutí tohoto cvičení pomůže uvědomit si, jaký je rozdíl mezi příkazy git merge NAME a git rebase NAME v použití jejich NAME argumentu a symbolické reference HEAD:
git merge NAME zahrne změny z větve NAME do větve označené symbolickou referencí HEAD.
git rebase NAME přesouvá změny z větve označené symbolickou referencí HEAD do větve NAME.
Řešení úkolu závisí na správném pořadí:
vetev na/nad větev master.vetev do větve master.Jedná se tedy o tuto sekvenci příkazů:
git checkout vetev
git rebase master
git checkout master
git merge vetev