Wijzigingen stashen en cherry-picken
Beheers `git stash` om wijzigingen tijdelijk op te slaan en `git cherry-pick` om specifieke commits op andere branches toe te passen.
Wijzigingen stashen en cherry-picken is een gratis Geavanceerde Git: monorepo's, submodules en werkstromen-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Geavanceerde Git: monorepo's, submodules en werkstromen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Geavanceerde Git: monorepo's, submodules en werkstromen bevat in totaal 4 lessen.
Waarom Git Stash gebruiken?
Ben je midden in een functie bezig wanneer er een dringende bugfix binnenkomt? Met git stash zet je je niet-gecommitte wijzigingen tijdelijk opzij, zodat je van branch kunt wisselen zonder halfaf werk te committen.
Je wijzigingen tijdelijk opslaan
Voer git stash uit om je gewijzigde en gestagede wijzigingen op te slaan. Git zet je werkmap daarna terug naar een schone HEAD. Je werk is veilig opgeborgen.
git status
# On branch feature-x
# Changes to be committed:
# new file: new_feature.txt
# Changes not staged for commit:
# modified: index.html
git stash
# Saved working directory and index state WIP on feature-x: ...
# HEAD is now at ...
git status
# On branch feature-x
# nothing to commit, working tree cleanJe stash-stack bekijken
Je kunt meerdere stashes bewaren. git stash list toont ze allemaal, elk met een index — stash@{0} is de meest recente.
git stash list
# stash@{0}: WIP on feature-x: ...
# stash@{1}: WIP on bugfix-branch: ...Je stash terughalen: Apply
git stash apply herstelt je meest recente stash in de werkmap. Wil je een oudere stash terughalen? Geef deze op, bijvoorbeeld met git stash apply stash@{1}.
git checkout bugfix-branch
git stash apply stash@{1}
# On branch bugfix-branch
# Changes not staged for commit:
# modified: bug.jsApply versus Pop: wat is het verschil?
apply versus pop: apply herstelt de wijzigingen maar laat de stash in de lijst staan; pop herstelt de wijzigingen en verwijdert de stash. Gebruik pop wanneer je klaar bent met de stash.
git stash list
# stash@{0}: WIP on feature-x: ...
git stash pop
# On branch feature-x
# Changes not staged for commit:
# modified: index.html
# Dropped stash stash@{0} (...
git stash list
# (empty output, stash is gone)Stashes opruimen
Ruim stashes op die je niet meer nodig hebt: git stash drop <id> verwijdert er één en git stash clear verwijdert ze allemaal. Clear kan niet ongedaan worden gemaakt, dus wees voorzichtig.
git stash list
# stash@{0}: WIP on feature-x: ...
# stash@{1}: WIP on old-bug: ...
git stash drop stash@{1}
# Dropped stash stash@{1} (...
git stash list
# stash@{0}: WIP on feature-x: ...Kennismaken met Git Cherry-Pick
Heb je slechts één commit uit een andere branch nodig, en niet de volledige geschiedenis? git cherry-pick past de wijzigingen van één commit toe op je huidige branch.
Eén commit toepassen
Zoek de hash van de commit met git log --oneline, schakel over naar je doelbranch en voer daarna git cherry-pick <hash> uit om alleen die wijziging over te nemen.
git log --oneline
# a1b2c3d Fix: Critical typo in header
# e4f5g6h Feat: Add user profiles
git checkout main
# Switched to branch 'main'
git cherry-pick a1b2c3d
# [main] Fix: Critical typo in header
# 1 file changed, 1 insertion(+), 1 deletion(-)Conflicten bij Cherry-Pick oplossen
Bij cherry-pick kan net als bij een merge een conflict ontstaan. Los het conflict handmatig op, voeg de bestanden toe met git add en voer daarna git cherry-pick --continue uit — of gebruik --abort om te annuleren.
git cherry-pick a1b2c3d
# Auto-merging header.js
# CONFLICT (content): Merge conflict in header.js
# error: could not apply a1b2c3d...
# (Resolve conflicts, then:)
git add header.js
git cherry-pick --continueQuiz over Stash en Cherry-Pick
Je bevindt je op de branch feature-A en hebt niet-gecommitte wijzigingen. Een dringende fix moet naar main. Je slaat je wijzigingen op met stash, schakelt over naar main en lost de bug op met een commit (hash: 789abc). Nu wil je deze fix toepassen op feature-A en terugkeren naar je werk.
Samenvatting van de les
Samengevat: git stash zet niet-gecommitte werk tijdelijk opzij, zodat je netjes van branch kunt wisselen, en git cherry-pick haalt één commit van de ene branch naar een andere.
Leer Geavanceerde Git: monorepo's, submodules en werkstromen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Wijzigingen stashen en cherry-picken” gratis?
Ja — de volledige tekst van “Wijzigingen stashen en cherry-picken” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Geavanceerde Git: monorepo's, submodules en werkstromen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Geavanceerde Git: monorepo's, submodules en werkstromen bevat in totaal 4 lessen.
Wat leer ik in “Wijzigingen stashen en cherry-picken”?
Beheers `git stash` om wijzigingen tijdelijk op te slaan en `git cherry-pick` om specifieke commits op andere branches toe te passen. Je oefent met Geavanceerde Git: monorepo's, submodules en werkstromen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Geavanceerde Git: monorepo's, submodules en werkstromen te beginnen?
Ervaring vooraf is niet nodig. Geavanceerde Git: monorepo's, submodules en werkstromen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Wijzigingen stashen en cherry-picken”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Geavanceerde Git: monorepo's, submodules en werkstromen?
Ja. Elke les over Geavanceerde Git: monorepo's, submodules en werkstromen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Interactief rebasen en aanpassen
- Wijzigingen stashen en cherry-picken
- Reflog voor herstel
- Bisect: slechte commits opsporen