Back

Comment utiliser la commande Git Cherry-Pick : Avec des exemples pratiques

Comment utiliser la commande Git Cherry-Pick : Avec des exemples pratiques

Avez-vous déjà eu besoin d’appliquer un commit spécifique d’une branche Git à une autre ? La commande git cherry-pick vous permet de faire exactement cela. Dans cet article, nous explorerons ce qu’est le cherry-picking, quand l’utiliser et fournirons des exemples pratiques pour vous aider à maîtriser cette puissante technique Git.

Points clés à retenir

  • git cherry-pick vous permet d’appliquer des commits spécifiques d’une branche à une autre.
  • Le cherry-picking est utile pour appliquer des correctifs de bogues critiques, appliquer sélectivement des modifications et collaborer avec des coéquipiers.
  • Soyez prudent lorsque vous utilisez cherry-pick pour éviter les conflits et maintenir un historique de commits propre.

Qu’est-ce que Git Cherry-Pick ?

git cherry-pick est une commande Git qui vous permet de sélectionner des commits individuels d’une branche et de les appliquer à une autre branche. C’est un moyen ciblé de transférer des modifications spécifiques entre les branches sans fusionner la branche entière.

Quand utiliser Git Cherry-Pick

Bien que git cherry-pick soit un outil pratique, ce n’est pas toujours la meilleure pratique. Dans de nombreux cas, les fusions traditionnelles sont préférées pour maintenir un historique de commits propre. Cependant, il existe quelques scénarios où le cherry-picking brille :

1. Application de correctifs de bogues critiques

Lorsqu’un bogue critique est découvert, il est important de fournir un correctif aux utilisateurs le plus rapidement possible. Avec git cherry-pick, vous pouvez appliquer le commit de correction de bogue directement à la branche principale sans fusionner l’ensemble de la branche de fonctionnalité.

2. Application sélective des modifications

Parfois, vous pouvez vouloir appliquer uniquement des commits spécifiques d’une branche de fonctionnalité à la branche principale. Le cherry-picking vous permet de choisir manuellement les commits souhaités sans apporter de modifications inutiles.

3. Collaboration et partage de code

Dans un environnement d’équipe, les développeurs travaillent souvent simultanément sur des fonctionnalités connexes. Le cherry-picking permet aux développeurs de partager des commits spécifiques, tels qu’une modification de structure de données backend, avec des coéquipiers travaillant sur le frontend.

Comment utiliser Git Cherry-Pick

Pour utiliser git cherry-pick, suivez ces étapes :

  1. Assurez-vous d’être sur la branche où vous souhaitez appliquer le commit :
   git checkout <target-branch>
  1. Trouvez le hash du commit que vous souhaitez cherry-pick en utilisant git log.

  2. Exécutez la commande cherry-pick :

   git cherry-pick <commit-hash>

Git appliquera les modifications du commit spécifié à votre branche actuelle.

Gestion des conflits

Si le commit cherry-picked entre en conflit avec les modifications de votre branche actuelle, Git vous demandera de résoudre les conflits manuellement. Suivez ces étapes :

  1. Ouvrez les fichiers en conflit et recherchez les marqueurs de conflit (<<<<<<<, =======, >>>>>>>).
  2. Modifiez le code pour résoudre les conflits, en conservant les modifications souhaitées.
  3. Indexez les fichiers résolus en utilisant git add.
  4. Continuez le processus de cherry-pick avec :
   git cherry-pick --continue

Cherry-Picking de plusieurs commits

Pour cherry-pick plusieurs commits, il suffit de fournir les hashs de commit séparés par des espaces :

git cherry-pick <commit-hash-1> <commit-hash-2> <commit-hash-3>

Git appliquera les commits dans l’ordre spécifié.

Meilleures pratiques

  • Utilisez le cherry-picking avec parcimonie pour éviter d’encombrer l’historique des commits.
  • Communiquez avec votre équipe pour vous assurer que les commits cherry-picked n’introduisent pas de modifications en double.
  • Envisagez d’utiliser git cherry-pick -x pour générer un message de commit standardisé, facilitant ainsi le suivi de l’origine du commit.

FAQ

Oui, vous pouvez cherry-pick des commits depuis un dépôt distant en récupérant la branche distante, puis en cherry-picking le commit souhaité

Si les modifications du commit cherry-picked sont déjà présentes dans la branche cible, Git sautera simplement le cherry-pick et passera à autre chose.

Si les modifications du commit cherry-picked sont déjà présentes dans la branche cible, Git sautera simplement le cherry-pick et passera à autre chose. Cela rétablira votre arborescence de travail à létat antérieur au début du cherry-pick.

Conclusion

Git cherry-pick est une commande puissante qui vous permet d’appliquer sélectivement des commits d’une branche à une autre. En comprenant quand et comment utiliser efficacement le cherry-picking, vous pouvez rationaliser votre flux de travail Git et collaborer plus efficacement avec votre équipe.

N’oubliez pas d’utiliser le cherry-picking judicieusement et de toujours communiquer avec vos coéquipiers pour éviter les conflits et maintenir un historique de commits propre.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers