Junior
Wat is cherry-pick?
sobes.tech AI
Antwoord van AI
git cherry-pick wordt gebruikt om één of meerdere commits van de ene tak te verplaatsen naar een andere.
Werking:
- Selecteert de opgegeven commit (of commits) in de bron tak.
- Past de wijzigingen in deze commits toe op de huidige actieve tak.
- Maakt nieuwe commits op de huidige tak met dezelfde wijzigingen en berichten als de originele commits.
Wanneer gebruiken:
- Het overzetten van een specifieke bugfix van één tak (bijvoorbeeld productie) naar een andere (bijvoorbeeld ontwikkeling), zonder andere wijzigingen te beïnvloeden.
- Het toepassen van wijzigingen van een feature tak op een andere, zonder ze volledig samen te voegen.
- Het ongedaan maken van onjuiste merges met behoud van afzonderlijke commits.
Verschil met merge en rebase:
merge: Combineert de volledige geschiedenis van wijzigingen van één tak in een andere.rebase: Herschrijft de commitgeschiedenis door ze op een nieuwe basis te plaatsen.cherry-pick: Past alleen geselecteerde commits toe, maakt nieuwe commits en wijzigt de geschiedenis van de originele commits niet.
Belangrijkste commando:
# Een commit overzetten
git cherry-pick <commit-hash>
# Meerdere commits overzetten (volgens hun aangegeven volgorde)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Voorbeeld:
Stel dat er twee takken zijn: main en feature. Op de feature tak is een commit fix-typo gedaan. Deze moet worden overgezet naar main.
# Overschakelen naar de doel tak
git checkout main
# Cherry-pick uitvoeren met de hash van de commit uit de feature tak
git cherry-pick 7f3bca2 # Voorbeeld hash
Na het uitvoeren van het commando verschijnt er in main een nieuwe commit met dezelfde wijzigingen als fix-typo, maar met een andere hash.