Sobes.tech
Middle

Wofür wird der Befehl git cherry-pick verwendet?

sobes.tech KI

Antwort von AI

Um Commit einzeln von einem Branch auf einen anderen übertragen. Ermöglicht die selektive Anwendung der Änderungen, die durch einen bestimmten Commit dargestellt werden, ohne den gesamten Branch zusammenzuführen.

Vorteile:

  • Isolierte Anwendung von Änderungen.
  • Vermeidung von Merge-Konflikten beim Übertragen nur der benötigten Commits.
  • Sauberkeit der Branch-Historie bewahren.

Syntax:

git cherry-pick <Commit-Hash>

Es können mehrere Commit-Hashes oder ein Commit-Bereich angegeben werden:

git cherry-pick <Commit-Hash-1> <Commit-Hash-2> ...
git cherry-pick <Start-Hash>^..<End-Hash>

Anwendungsbeispiel:

Angenommen, es gibt einen Branch feature mit den Commits A, B, C, und einen Branch develop. Es soll nur Commit B nach develop übertragen werden.

  1. Wechseln Sie zum Branch develop:
    git checkout develop
    
  2. Führen Sie cherry-pick für Commit B aus (angenommen, sein Hash ist abcdef):
    git cherry-pick abcdef
    

Bei Konflikten müssen diese gelöst werden, dann fortfahren (git cherry-pick --continue) oder den Vorgang abbrechen (git cherry-pick --abort).

Alternativen:

  • git merge: Fügt alle Änderungen eines Branches in einen anderen zusammen.
  • git rebase: Verschiebt oder kombiniert eine Sequenz von Commits auf einen neuen Basis-Commit.

git cherry-pick ist nützlich, wenn man Fehlerkorrekturen oder kleine funktionale Änderungen selektiv zwischen Branches übertragen möchte.