Git Cherry-pick
Zuletzt aktualisiert
git cherry-pick kopiert die Änderungen eines oder mehrerer bestimmter Commits und wendet sie als neue Commits auf deinen aktuellen Branch an. So holst du dir einen einzelnen Fix aus einem anderen Branch, ohne den gesamten Branch zu mergen - nützlich, um einen Hotfix zurückzuportieren oder einen einzelnen Commit aus einem Feature-Branch zu ziehen.
Probiere das im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git cherry-pick <hash> | Wendet einen Commit auf den aktuellen Branch an |
git cherry-pick <a> <b> | Wendet mehrere Commits der Reihe nach an |
git cherry-pick <a>..<b> | Wendet einen Bereich von Commits an (ohne a) |
git cherry-pick -n <hash> | Wendet die Änderungen an, committet aber noch nicht |
git cherry-pick -x <hash> | Vermerkt den ursprünglichen Commit in der Nachricht |
Während eines Cherry-pick
Wenn ein Cherry-pick auf einen Konflikt stößt, löse ihn und fahre fort.
| Command | What it does |
|---|---|
git cherry-pick --continue | Setzt nach dem Lösen der Konflikte fort |
git cherry-pick --abort | Bricht ab und stellt den Branch wieder her |
git cherry-pick --skip | Überspringt den aktuellen Commit |
Git cherry-pick FAQ
Was macht git cherry-pick?
Wann sollte ich cherry-pick verwenden?
main in einen Release-Branch zurückzuportieren oder einen einzelnen nützlichen Commit aus einem Feature-Branch zu ziehen, ohne alles zu mergen. Wenn du den ganzen Branch willst, nutze stattdessen merge oder rebase.Wie cherry-picke ich mehrere Commits?
git cherry-pick <a> <b> <c> wendet jeden der Reihe nach an. Für einen zusammenhängenden Bereich nutze git cherry-pick <start>..<end>, das jeden Commit nach start bis einschließlich end anwendet. Füge <start>^..<end> hinzu, wenn du start selbst einschließen willst.Was, wenn ein Cherry-pick einen Konflikt verursacht?
git add für die Ergebnisse aus und führe dann git cherry-pick --continue aus. Um alles rückgängig zu machen, nutze git cherry-pick --abort, das deinen Branch in den Zustand vor dem Start des Cherry-pick zurückversetzt.Kann ich das online üben?
git cherry-pick in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt außerdem Schritt für Schritt das Verschieben von Commits zwischen Branches.