Le cherry picking dans Git est une méthode qui permet de sélectionner des commits spécifiques à intégrer dans une branche différente. Cette pratique est particulièrement utile lorsque vous souhaitez appliquer des modifications précises sans fusionner l’intégralité d’une branche, ce qui peut parfois introduire des changements indésirables. En 2026, cette technique est toujours aussi pertinente pour les développeurs souhaitant gérer efficacement leur historique de version.
Cet article vous propose un guide complet sur le cherry picking, avec des retours d’expérience terrain, des exemples concrets et des conseils pratiques pour éviter les pièges courants.
Qu’est-ce que le cherry picking ? #
Le cherry picking consiste à extraire un ou plusieurs commits d’une branche pour les appliquer sur une autre. Contrairement à une fusion classique (merge) qui intègre tous les changements d’une branche, le cherry picking permet de choisir uniquement ceux qui vous intéressent.
À lire PDF, ZIP, Mo et Go : le petit manuel des fichiers du quotidien
Pourquoi utiliser le cherry picking ?
- Flexibilité : Vous pouvez appliquer uniquement les modifications nécessaires.
- Propreté de l’historique : Évitez d’encombrer votre historique avec des commits non pertinents.
- Gestion des erreurs : Si un commit introduit un bug, il est facile de le retirer sans affecter d’autres modifications.
Comment effectuer un cherry pick ? #
Étapes à suivre
-
Identifiez le commit à choisir : Utilisez
git logpour afficher l’historique et trouver l’identifiant du commit (SHA). -
Basculez vers la branche cible : Exécutez
git checkout nom-de-la-branchepour changer de branche. -
Exécutez la commande cherry-pick : Utilisez la commande suivante :
bash
git cherry-pick <commit-SHA> -
Résolvez les conflits si nécessaire : Si des conflits apparaissent, résolvez-les manuellement et finalisez avec :
bash
git cherry-pick --continue
Exemple concret
Imaginons que vous avez deux branches : develop et feature. Vous souhaitez appliquer un commit spécifique de develop dans feature.
- Vous trouvez que le commit avec SHA
abc123doit être intégré. - Vous passez sur la branche
feature:
bash
git checkout feature - Vous exécutez :
bash
git cherry-pick abc123
Cette opération ajoute ce commit à votre branche feature, rendant son contenu disponible sans fusionner tous les autres changements de develop.
Avantages et inconvénients du cherry picking #
Avantages
- Sélectivité : Appliquez uniquement ce qui est nécessaire.
- Économie de temps : Gagnez du temps en évitant des tests sur des changements non pertinents.
Inconvénients
- Complexité accrue : Gérer plusieurs branches avec cherry picks peut rendre l’historique plus difficile à suivre.
- Conflits fréquents : Les conflits peuvent se produire si le même code a été modifié dans plusieurs branches.
Piège à éviter #
Ne pas documenter vos cherry picks peut conduire à une confusion future. En effet, si vous réalisez plusieurs sélections sans explication, il devient difficile de comprendre pourquoi certaines modifications ont été appliquées. Utilisez toujours un message de commit clair lors du cherry picking :
git cherry-pick abc123 -m "Ajout de la fonctionnalité X depuis develop"
Tableau récapitulatif des commandes utiles #
| Commande | Description |
|---|---|
git log |
Afficher l’historique des commits |
git checkout <branch> |
Changer de branche |
git cherry-pick <commit-SHA> |
Appliquer un commit spécifique |
git cherry-pick --continue |
Continuer après avoir résolu un conflit |
Conclusion pratique #
Pour débuter avec le cherry picking, choisissez un projet simple où vous pouvez tester cette fonctionnalité sans risque. Créez quelques commits sur différentes branches et essayez d’appliquer certains changements par le biais du cherry pick.
À lire Comment modifier un PDF gratuitement ?
FAQ #
Qu’est-ce qu’un cherry pick en Git ?
C’est une méthode permettant d’extraire et d’appliquer des commits spécifiques d’une branche à une autre.
Comment savoir si un commit peut être cherry-picked ?
Vérifiez si le commit ne dépend pas d’autres modifications dans la branche source qui n’ont pas été sélectionnées.
Quels sont les risques associés au cherry picking ?
Les principaux risques incluent la complexité accrue de l’historique et la possibilité de conflits lors de l’application des commits.
Peut-on annuler un cherry pick ?
Oui, vous pouvez annuler un cherry pick en utilisant :
À lire Comment formater une clé USB ?
git cherry-pick --abort
Le cherry picking est-il recommandé pour tous les projets ?
Il est préférable dans les projets où une gestion fine des modifications est nécessaire, mais il peut devenir compliqué dans les grands projets avec beaucoup de branches.
Comment gérer les conflits lors d’un cherry pick ?
Il faut résoudre manuellement les conflits en éditant les fichiers concernés puis utiliser la commande git add suivie de git cherry-pick --continue.