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

  1. Bascule sur la branche qui reçoit.
  2. 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>.

Voir aussi