Cherry-pick
git cherry-pick
est utilisée pour appliquer les changements d’un commit spécifique à la branche actuelle. Cette commande est particulièrement utile pour sélectionner des commits individuels d’une branche et les appliquer à une autre.
Syntaxe de base
git cherry-pick <commit-hash>
Fonctionnement
- Identifie les changements introduits par le commit spécifié
- Applique ces changements à la branche actuelle
- Crée un nouveau commit avec ces changements
Exemples d’utilisation
- Appliquer un seul commit :
git cherry-pick <commit-hash>
- Appliquer plusieurs commits :
git cherry-pick <commit-1> <commit-2> <commit-3>
- Appliquer une série de commits :
git cherry-pick <commit-1>^..<commit-2>
Options utiles
--edit
: Permet de modifier le message du commit avant de l’appliquer--no-commit
: Applique les changements sans créer automatiquement un nouveau commit--signoff
: Ajoute une ligne “Signed-off-by” au message du commit
Gestion de conflits
Si un conflit survient lors du cherry-pick :
- Git mettra en pause l’opération
- Vous devrez résoudre les conflits manuellement
- Utilisez
git add
pour marquer les fichiers comme résolus - Continuez avec
git cherry-pick --continue
Autres options en cas de conflit :
git cherry-pick --abort
: Annule l’opération et revient à l’état initialgit cherry-pick --skip
: Ignore le commit en conflit et passe au suivant
Cas d’utilisation courants
- Backporting : Appliquer un correctif d’une version récente à une version plus ancienne
- Sélection de fonctionnalités : Choisir des fonctionnalités spécifiques d’une branche de développement pour une release
- Correction d’erreurs de merge : Récupérer des commits perdus d’un merge complexe
Bonnes pratiques
- Vérifiez toujours le contenu du commit avant de cherry-pick
- Utilisez avec précaution sur des branches partagées
- Considérez l’utilisation de
git rebase
pour des opérations plus complexes