Sobes.tech
Junior

Wat is cherry-pick in de context van versiebeheersystemen?

sobes.tech AI

Antwoord van AI

Cherry-pick in Git is een operatie waarmee je wijzigingen van een specifieke commit op een andere tak kunt toepassen. Dit is handig wanneer je bepaalde correcties of functies van een tak wilt overbrengen zonder alle daaropvolgende commits mee te nemen.

Toepassing:

  1. Commit selecteren: De hash van de commit die je "wil kopiëren" wordt bepaald.
  2. Overschakelen naar de doel tak: We schakelen naar de tak waarop de wijzigingen moeten worden toegepast.
  3. Uitvoeren van cherry-pick: Het commando git cherry-pick <commit-hash> wordt uitgevoerd. Git probeert de wijzigingen van de geselecteerde commit toe te passen op de huidige tak.
# Overschakelen naar de doel tak
git checkout main

# Toepassen van wijzigingen uit commit met hash abcdef1
git cherry-pick abcdef1

Mogelijke gebruiksscenario's:

  • Foutcorrectie in een oude release tak.
  • Overbrengen van een specifieke functie van de ontwikkeltak naar staging of productie.
  • Terugdraaien van wijzigingen van een specifieke commit (met de optie -n en daarna git revert).

Verschillen met merge en rebase:

  • merge voegt alle wijzigingen van een tak samen met een andere.
  • rebase verplaatst alle commits van een tak bovenop een andere.
  • cherry-pick verplaatst alleen een geselecteerde commit, en maakt een nieuwe commit met dezelfde wijzigingen in de doel tak.

Het is belangrijk te onthouden dat cherry-pick een nieuwe commit maakt met een andere hash. Dit kan leiden tot duplicatie van wijzigingen als dezelfde commit later op een andere manier wordt samengevoegd met de doel tak. Gebruik het met voorzichtigheid en begrijp de gevolgen.