Junior — Middle
Leg uit hoe het rebase-commando werkt in het versiebeheersysteem Git en wat het verschil is met merge.
sobes.tech AI
Antwoord van AI
Het commando git rebase wordt gebruikt om een reeks commits te verplaatsen of 'herschrijven' naar een nieuwe basis, dat wil zeggen, op een andere commit. Het stelt je in staat om wijzigingen van een tak te nemen en deze 'over te spelen' op een andere tak, waardoor een lineaire geschiedenis ontstaat zonder extra merge-commits.
Verschillen met git merge:
- git merge combineert twee takken, waardoor een nieuwe merge-commit ontstaat die de geschiedenis van beide takken met vertakkingen behoudt.
- git rebase verplaatst de commits van een tak naar de top van een andere, herschrijft de geschiedenis en maakt deze lineair.
Voorbeeld:
Als je een feature-tak hebt, afgeleid van master, en master wordt bijgewerkt, dan:
git merge masterin feature creëert een merge-commit die de wijzigingen samenvoegt.git rebase masterin feature verplaatst je commits bovenop de actuele staat van master, alsof je vanaf de laatste staat van master bent begonnen.
Rebase is handig om een schone geschiedenis te behouden, maar vereist voorzichtigheid bij het werken met openbare takken om de gedeelde geschiedenis niet te herschrijven.