Mémo Git · Intégrer
Reprendre un commit d'une autre branche
git cherry-pick <commit>
git cherry-pick <commit> applique les modifications d'un commit précis sur ta branche courante, sous la forme d'un nouveau commit. C'est utile pour reporter un correctif sur une branche de release sans fusionner tout le reste.
Ce que ça fait
Copie les modifications d'un commit précis sur la branche courante.
Un cas d'usage
Un correctif fait sur la branche de développement doit aussi partir sur la branche de release.
En ligne de commande
git cherry-pick <commit>- Copie un commit.
git cherry-pick <a> <b> <c>- Copie plusieurs commits, dans l'ordre.
git cherry-pick <a>^..<b>- Copie une suite de commits, de a à b inclus.
git cherry-pick -x <commit>- Ajoute au message la référence du commit d'origine.
git cherry-pick --continue / --abort- Reprend après un conflit, ou annule.
Dans Merathon
- Bascule sur la branche qui reçoit.
- Clic droit sur le commit dans le graphe → « Cherry-pick dans <branche> ».
Questions fréquentes
Le commit d'origine est-il déplacé ?
Non : il reste sur sa branche. Le cherry-pick crée une copie, avec un autre identifiant.
Comment cherry-pick un commit de merge ?
Il faut indiquer le parent de référence : git cherry-pick -m 1 <commit>.