Was Cherry-pick tut
git cherry-pick nimmt einen Commit von einem Branch und wendet ihn als neuen Commit auf dem aktuellen Branch an.
Die grundlegende Operation
git checkout release/1.4
git cherry-pick <sha>
Cherry-pick von Bereichen
git cherry-pick <sha1> <sha2> <sha3>
git cherry-pick <older>..<newer>
git cherry-pick <older>^..<newer>
Cherry-pick mit Konflikten
git cherry-pick <sha>
git add <file>
git cherry-pick --continue
git cherry-pick --abort
Herkunft in der Nachricht aufzeichnen
git cherry-pick -x <sha>
Merges cherry-picken
git cherry-pick -m 1 <merge-sha>
Cherry-pick versus Merge
- Merge - integriert einen ganzen Branch.
- Cherry-pick - kopiert einen spezifischen Commit.
Das Problem doppelter Commits
git cherry main feature
git rebase --skip
Leere Cherry-picks
git cherry-pick --allow-empty <sha>
git cherry-pick --skip
Workflows, in denen Cherry-pick glanzt
- Hotfix von
mainzu einem Release-Branch. - Einen Fix von einem Feature-Branch auf
mainbringen. - Einen wahrend eines Rebase verlorenen Commit erneut anwenden.
- Selektives Weiterleiten von Fixes zwischen Wartungslinien.
Best Practices
- Immer
-xfur Backports. - Den Quell-PR oder Ticket referenzieren.
- Tests auf dem Zielbranch ausfuhren.