Sobes.tech
Junior

Was ist Cherry-Pick im Kontext von Versionskontrollsystemen?

sobes.tech KI

Antwort von AI

Cherry-pick in Git ist eine Operation, die es ermöglicht, Änderungen aus einem bestimmten Commit auf einen anderen Zweig anzuwenden. Dies ist nützlich, wenn Sie bestimmte Korrekturen oder Funktionen von einem Zweig auf einen anderen übertragen möchten, ohne alle nachfolgenden Commits zu übertragen.

Anwendung:

  1. Commit-Auswahl: Der Hash des Commits, den Sie "kopieren" möchten, wird bestimmt.
  2. Wechsel zum Zielzweig: Wir wechseln zu dem Zweig, auf den die Änderungen angewendet werden sollen.
  3. Ausführung von cherry-pick: Der Befehl git cherry-pick <commit-hash> wird ausgeführt. Git versucht, die Änderungen des ausgewählten Commits im aktuellen Zweig anzuwenden.
# Wechseln zum Zielzweig
git checkout main

# Änderungen aus Commit mit Hash abcdef1 anwenden
git cherry-pick abcdef1

Mögliche Anwendungsfälle:

  • Fehlerbehebung in einem alten Release-Zweig.
  • Übertragung einer einzelnen Funktion vom Entwicklungszweig in Staging oder Produktion.
  • Rückgängigmachung von Änderungen eines bestimmten Commits (mit der Option -n und anschließend git revert).

Unterschiede zu merge und rebase:

  • merge vereint alle Änderungen eines Zweigs in einen anderen.
  • rebase überträgt alle Commits eines Zweigs auf einen anderen.
  • cherry-pick überträgt nur einen ausgewählten Commit und erstellt einen neuen Commit mit den gleichen Änderungen im Zielzweig.

Es ist wichtig zu beachten, dass cherry-pick einen neuen Commit mit einem neuen Hash erstellt. Dies kann zu Duplikationen von Änderungen führen, wenn derselbe Commit später auf andere Weise mit dem Zielzweig zusammengeführt wird. Vorsicht bei der Verwendung und beim Verständnis der Konsequenzen.