Menu
Coddy logo textTech

Git Cherry-pick

Dernière mise à jour

git cherry-pick copie les modifications d'un ou plusieurs commits spécifiques et les applique sur votre branche actuelle sous forme de nouveaux commits. C'est ainsi que vous récupérez un seul correctif d'une autre branche sans fusionner toute cette branche - utile pour rétroporter un hotfix ou extraire un commit d'une branche de fonctionnalité.

Essayez ces commandes dans le terminal playground - un vrai shell dans votre navigateur, rien à installer.

Syntaxe

CommandWhat it does
git cherry-pick <hash>Applique un commit sur la branche actuelle
git cherry-pick <a> <b>Applique plusieurs commits dans l'ordre
git cherry-pick <a>..<b>Applique une plage de commits (en excluant a)
git cherry-pick -n <hash>Applique les modifications mais ne valide pas encore
git cherry-pick -x <hash>Note le commit d'origine dans le message

Pendant un cherry-pick

Si un cherry-pick provoque un conflit, résolvez-le et continuez.

CommandWhat it does
git cherry-pick --continueReprend après avoir résolu les conflits
git cherry-pick --abortAnnule et restaure la branche
git cherry-pick --skipIgnore le commit actuel

FAQ git cherry-pick

Que fait git cherry-pick ?
Il prend les modifications introduites par un commit spécifique et les applique sur votre branche actuelle sous forme d'un tout nouveau commit (avec un nouveau hash). Contrairement à merge ou rebase, il n'apporte pas une branche entière - uniquement le ou les commits que vous nommez.
Quand dois-je utiliser cherry-pick ?
Utilisez-le lorsque vous avez besoin d'un commit précis ailleurs - par exemple, pour rétroporter une correction de bug de main vers une branche de release, ou pour extraire un seul commit utile d'une branche de fonctionnalité sans tout fusionner. Si vous voulez toute la branche, utilisez plutôt merge ou rebase.
Comment faire un cherry-pick de plusieurs commits ?
Listez-les : git cherry-pick <a> <b> <c> applique chacun dans l'ordre. Pour une plage contiguë, utilisez git cherry-pick <start>..<end>, qui applique tous les commits après start jusqu'à end inclus. Ajoutez <start>^..<end> si vous voulez inclure start lui-même.
Que se passe-t-il si un cherry-pick provoque un conflit ?
Git s'interrompt et marque les fichiers en conflit. Résolvez-les, faites git add des résultats, puis exécutez git cherry-pick --continue. Pour tout annuler, utilisez git cherry-pick --abort, qui restaure votre branche à l'état d'avant le début du cherry-pick.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git cherry-pick dans un vrai shell dans votre navigateur - rien à installer. Le cours interactif et gratuit de Git de Coddy couvre également le déplacement de commits entre branches étape par étape.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER