Sobes.tech
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 master in feature creëert een merge-commit die de wijzigingen samenvoegt.
  • git rebase master in 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.