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

Übersicht

git cherry-pick [-n] [-x] [--continue] [--abort] <commit>...

Beschreibung

Der git cherry-pick-Befehl wendet die durch einen oder mehrere bestehende Commits eingeführten Änderungen als neue Commits auf den aktuellen Branch an. Es ist das richtige Werkzeug, wenn Sie einen einzelnen Fix von einem anderen Branch brauchen, ohne den ganzen Branch zu mergen. Cherry-Picks erstellen neue Commits mit neuen SHAs, bewahren aber den ursprünglichen Autor und die Nachricht.

Cherry-Picking kann genau wie ein Merge Konflikte erzeugen. Verwenden Sie --continue nach der Auflösung oder --abort, um abzubrechen. Das -x-Flag fügt eine "(cherry picked from commit ...)"-Zeile zur Nachricht hinzu — nützlich für Nachverfolgbarkeit beim Portieren von Fixes zwischen Wartungs-Branches.

Im täglichen Einsatz integriert sich git cherry-pick eng mit Shell-Aliasen, Editor-Plugins und Continuous Integration. Power-User fügen oft Aliase hinzu, die Flags kombinieren, die sie immer übergeben, oder wickeln den Befehl in Skripte, die Teamkonventionen durchsetzen. Die Ausgabeformatierung kann über Git-Config angepasst werden — Pretty-Formate, Farbschemata und Pager-Verhalten sind alle einstellbar. Wenn etwas schiefgeht, ist der erste Diagnoseschritt üblicherweise, den Befehl erneut mit GIT_TRACE=1 in der Umgebung auszuführen, was die zugrunde liegenden Plumbing-Aufrufe offenlegt. Für ungewöhnliche Situationen öffnet die --help-Ausgabe (git cherry-pick --help) die vollständige Manpage mit Details zu jeder Option, einschließlich solcher, die in alltäglichen Workflows selten verwendet werden, aber für Debugging oder Skripting im großen Maßstab essentiell sind.

Zu verstehen, wie git cherry-pick mit dem Rest von Gits Datenmodell interagiert — der Objektdatenbank, dem Index, Refs und dem Working Tree — zahlt sich aus. Jeder Befehl operiert auf einer Teilmenge dieser Stücke, und zu wissen, welche er berührt, hilft Ergebnisse vorherzusagen und sich von Fehlern zu erholen. Das Lesen der offiziellen Git-Dokumentation neben praktischer Übung in einem Wegwerf-Repository ist der schnellste Weg, die Nuancen zu verinnerlichen. Die meisten Produktionsprobleme mit Git rühren von einer von drei Ursachen: überraschendem Standardverhalten, partiellen Netzwerkoperationen oder dem Umschreiben bereits geteilter Historie. Ein funktionierendes mentales Modell der Nebenwirkungen von git cherry-pick hilft, alle drei zu vermeiden.

Häufige Optionen

OptionBeschreibung
-n, --no-commitWendet Änderungen an, committet aber noch nicht.
-xAnnotiert die Commit-Nachricht mit dem Quell-SHA.
-e, --editBearbeitet die Commit-Nachricht vor dem Committen.
--continueSetzt nach Konfliktauflösung fort.
--abortBricht ab und stellt vorherigen Zustand wieder her.
--skipÜberspringt aktuellen Commit und fährt fort.
-m <parent>Spezifiziert Mainline beim Picken eines Merge-Commits.
-SGPG-signiert die resultierenden Commits.

Beispiele

git cherry-pick abc123
    # Einen einzelnen Commit auf den aktuellen Branch anwenden

    git cherry-pick -x abc123 def456
    # Zwei Commits mit Nachverfolgbarkeits-Annotationen anwenden

    git cherry-pick A..B
    # Einen Bereich picken (exklusiv A, inklusiv B)

    git cherry-pick --continue
    # Nach Konfliktauflösung fortsetzen

Häufige Fehler

Dieselbe Änderung wiederholt zu cherry-picken kann spätere Merges verwirren, da identisch aussehende Commits unterschiedliche SHAs haben. Verwenden Sie git rerere, um sich Auflösungen zu merken. Einen Merge ohne -m zu picken schlägt fehl. Für lange Sequenzen bevorzugen Sie Rebase oder Merge.

Verwandte Befehle

git rebase, git revert, git merge, git rerere