Sobes.tech
Middle

À quoi sert la commande git cherry-pick?

sobes.tech IA

Réponse de l'IA

Pour transférer des commits individuels d'une branche à une autre. Permet d'appliquer sélectivement les modifications présentées par un commit spécifique, sans avoir besoin de fusionner toute la branche.

Avantages :

  • Application isolée des modifications.
  • Éviter les conflits de fusion lors du transfert uniquement des commits nécessaires.
  • Maintenir la propreté de l'historique des branches.

Syntaxe :

git cherry-pick <hash-du-commit>

Il est possible de spécifier plusieurs hashes de commits ou une plage de commits :

git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <hash-debut>^..<hash-fin>

Exemple d'utilisation :

Supposons qu'il y ait une branche feature avec les commits A, B, C, et une branche develop. Il faut transférer uniquement le commit B dans develop.

  1. Passer à la branche develop :
    git checkout develop
    
  2. Exécuter cherry-pick pour le commit B (en supposant que son hash est abcdef) :
    git cherry-pick abcdef
    

En cas de conflits, ils doivent être résolus, puis continuer (git cherry-pick --continue) ou annuler l'opération (git cherry-pick --abort).

Alternatives :

  • git merge : Fusionne tous les changements d'une branche dans une autre.
  • git rebase : Déplace ou combine une séquence de commits sur un nouveau commit de base.

git cherry-pick est utile lorsque vous souhaitez transférer sélectivement des corrections de bugs ou de petits changements fonctionnels entre branches.