Junior
Was ist cherry-pick?
sobes.tech KI
Antwort von AI
git cherry-pick wird verwendet, um einen oder mehrere Commits von einem Zweig auf einen anderen zu übertragen.
Funktionsprinzip:
- Wählt den angegebenen Commit (oder die Commits) im Quellzweig aus.
- Wendet die Änderungen, die in diesen Commits enthalten sind, auf den aktuellen aktiven Zweig an.
- Erstellt neue Commits im aktuellen Zweig mit den gleichen Änderungen und Nachrichten wie die ursprünglichen.
Wann verwenden:
- Übertragen einer spezifischen Fehlerbehebung von einem Zweig (z.B. Produktion) auf einen anderen (z.B. Entwicklung), ohne andere Änderungen zu beeinflussen.
- Anwenden von Änderungen aus einem Feature-Zweig auf einen anderen, ohne sie vollständig zusammenzuführen.
- Rückgängigmachen fehlerhafter Merges unter Beibehaltung der einzelnen Commits.
Unterschiede zu merge und rebase:
merge: Vereint die gesamte Änderungsverlaufsgeschichte eines Zweigs mit einem anderen.rebase: Überschreibt die Commit-Historie, indem sie auf eine neue Basis verschoben wird.cherry-pick: Wendet nur ausgewählte Commits an, erstellt neue und ändert nicht die Historie der ursprünglichen Commits.
Hauptbefehl:
# Einen Commit übertragen
git cherry-pick <commit-hash>
# Mehrere Commits übertragen (in der Reihenfolge ihrer Angabe)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Beispiel:
Angenommen, es gibt zwei Zweige: main und feature. In feature wurde ein Commit fix-typo gemacht. Dieser Commit soll in main übertragen werden.
# Zum Zielzweig wechseln
git checkout main
# Cherry-pick mit dem Commit-Hash aus dem feature-Zweig ausführen
git cherry-pick 7f3bca2 # Beispiel-Hash des Commits
Nach Ausführung des Befehls erscheint in main ein neuer Commit mit den gleichen Änderungen wie fix-typo, aber mit einem anderen Hash.