Aller au contenu principal
U/
Versionnement
git

Apporter un commit d'une autre branche

Utiliser git cherry-pick pour appliquer un commit spécifique depuis une branche feature sur la branche main. Gérer le cas d'un conflit avec --abort ou la résolution manuelle suivie de --continue.

20 minPublié le 20 mai 2026Proposé par Anonyme

Défi

// Lisez attentivement, codez sur votre machine

Énoncé

Appliquer un seul commit identifié par son hash depuis une branche feature sur la branche main, sans fusionner l'ensemble de la branche. En cas de conflit, deux options sont disponibles : annuler l'opération ou résoudre le conflit manuellement puis continuer. Commandes valides avec git 2.x+.

Contraintes

  • Se placer sur la branche cible (main) avant d'exécuter git cherry-pick.
  • Fournir le hash complet ou abrégé du commit à transporter.
  • En cas de conflit : éditer les fichiers conflictuels, les ajouter à l'index avec git add, puis finaliser avec git cherry-pick --continue.
  • Pour annuler proprement : git cherry-pick --abort (restaure l'état avant la tentative).
  • Ne pas utiliser git cherry-pick -n sauf besoin explicite de contrôle de l'index.

Exemple

Situation de départ :

$ git log --oneline feature -3
b7e2a11 feat: ajouter la validation du formulaire
c4d3f09 feat: page de contact brouillon
1a0b8c7 chore: mise à jour des dépendances

$ git log --oneline main -1
9c8b7a6 docs: préciser le guide d'installation

État attendu sur main après l'opération — seul b7e2a11 a été transporté, sous un nouveau hash, et c4d3f09 est resté sur feature :

$ git log --oneline main -2
9f1d034 feat: ajouter la validation du formulaire
9c8b7a6 docs: préciser le guide d'installation
Espace solution
// À garder en tête
  • D'abord, faire marcher

    On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)

  • Pas de mauvaise réponse

    Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.

  • Trop dur ? Au suivant

    Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.