Von Gast (nicht überprüft) , 29 April 2026

Was Sie erreichen werden

Sie werden einen einzelnen Commit, einen Bereich und einen Merge von einem Branch zu einem anderen cherry-picken.

Einen Sandbox einrichten

mkdir cherry-tutorial && cd cherry-tutorial
git init
echo "v1" > app.txt
git add . && git commit -m "Initial"

git checkout -b release/1.0
echo "release" > release.txt
git add . && git commit -m "Release notes"

git checkout main
git checkout -b feature
echo "fix" > fix.txt
git add . && git commit -m "Critical bug fix"
echo "feat" > feat.txt
git add . && git commit -m "New feature work"

Schritt 1: den Commit identifizieren

git log feature --oneline

Schritt 2: Cherry-pick

git checkout release/1.0
git cherry-pick def5678

Schritt 3: die Lineage aufzeichnen

git cherry-pick -x def5678

Schritt 4: einen Bereich cherry-picken

git cherry-pick def5678..abc1234
git cherry-pick def5678^..abc1234

Schritt 5: Konflikte handhaben

git cherry-pick <sha>
git add <file>
git cherry-pick --continue
git cherry-pick --abort

Schritt 6: leere Cherry-picks

git cherry-pick --allow-empty <sha>
git cherry-pick --skip

Schritt 7: einen Merge cherry-picken

git cherry-pick -m 1 <merge-sha>

Schritt 8: verifizieren

git log --oneline
git diff main release/1.0

Haufige Workflows

Hotfix-Backport

git checkout release/1.4
git cherry-pick -x <hotfix-sha>
git push

Rettung von einem Branch, den Sie wegwerfen

git checkout main
git cherry-pick <valuable-sha>
git branch -D experimental

Fixes zwischen Wartungslinien weiterleiten

for branch in release/1.4 release/1.5 main; do
  git checkout $branch
  git cherry-pick -x <fix-sha>
done

Fallstricke

  • Doppelte Commits.
  • Verlorener Kontext.
  • Wiederholtes Cherry-picking.