0Pricing
Git Advanced: Monorepo, Submodules & Workflows · Lektion

Änderungen stashen und cherry-picken

Beherrschen Sie `git stash` zum vorübergehenden Speichern von Änderungen und `git cherry-pick` zum Anwenden bestimmter Commits auf andere Branches.

Änderungen stashen und cherry-picken ist eine kostenlose Git Advanced: Monorepo, Submodules & Workflows-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Git Advanced: Monorepo, Submodules & Workflows-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Git Advanced: Monorepo, Submodules & Workflows-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Why Use Git Stash?

Mid-feature and an urgent bug fix lands? git stash temporarily shelves your uncommitted changes so you can switch branches without committing half-done work.

Saving Your Changes Temporarily

Run git stash to save your modified and staged changes, then Git resets your working directory to a clean HEAD. Your work is safely tucked away.

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 clean

Viewing Your Stash Stack

You can hold multiple stashes. git stash list shows them all, each indexed — stash@{0} being the most recent.

git stash list
# stash@{0}: WIP on feature-x: ...
# stash@{1}: WIP on bugfix-branch: ...

Bringing Stash Back: Apply

git stash apply restores your most recent stash into the working directory. Want an older one? Name it, like 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.js

Apply vs. Pop: What's the Difference?

apply vs pop: apply restores changes but keeps the stash in the list; pop restores them and removes the stash. Use pop when you're done with it.

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)

Cleaning Up Stashes

Clean up stashes you no longer need: git stash drop <id> removes one, git stash clear removes all. Clear can't be undone, so be careful.

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: ...

Introducing Git Cherry-Pick

Need just one commit from another branch, not its whole history? git cherry-pick applies a single commit's changes onto your current branch.

Applying a Single Commit

Find the commit hash with git log --oneline, switch to your target branch, then git cherry-pick <hash> to bring just that change over.

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(-)

Resolving Cherry-Pick Conflicts

Cherry-picking can conflict like a merge. Resolve manually, git add the files, then git cherry-pick --continue — or --abort to cancel.

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 --continue

Stash & Cherry-Pick Quiz

You are on the feature-A branch, with uncommitted changes. An urgent fix needs to go into main. You stash your changes, switch to main, and fix the bug with a commit (hash: 789abc). Now you want to apply this fix to feature-A and return to your work.

Lesson Summary

Recap: git stash shelves uncommitted work so you can switch branches cleanly, and git cherry-pick grabs a single commit from one branch onto another.

Häufig gestellte Fragen

Ist die Lektion „Änderungen stashen und cherry-picken“ kostenlos?

Ja — der vollständige Text von „Änderungen stashen und cherry-picken“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Git Advanced: Monorepo, Submodules & Workflows-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Git Advanced: Monorepo, Submodules & Workflows-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Änderungen stashen und cherry-picken“?

Beherrschen Sie `git stash` zum vorübergehenden Speichern von Änderungen und `git cherry-pick` zum Anwenden bestimmter Commits auf andere Branches. Du übst Git Advanced: Monorepo, Submodules & Workflows mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Git Advanced: Monorepo, Submodules & Workflows zu starten?

Keine Vorkenntnisse erforderlich. Git Advanced: Monorepo, Submodules & Workflows auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Änderungen stashen und cherry-picken“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Git Advanced: Monorepo, Submodules & Workflows-Lektion Code schreiben und ausführen?

Ja. Jede Git Advanced: Monorepo, Submodules & Workflows-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Interaktives Rebase und Ändern von Commits
  2. Änderungen stashen und cherry-picken
  3. Reflog zur Wiederherstellung
  4. Bisect: Fehlerhafte Commits aufspüren
← Zurück zu Git Advanced: Monorepo, Submodules & Workflows