Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick copie les modifications d’une ou plusieurs validations de branche source vers une branche cible. Contrairement à la fusion ou au rebase, cherry-pick vous permet de sélectionner des validations spécifiques de branche source. Pour chaque validation de branche source choisie, Git crée une validation correspondant sur la branche cible.
Vous pouvez cherry-pick pour vous attaquer à ces tâches courantes suivantes :
Déployer une fonctionnalité spécifique d’une branche à une autre.
Copier le travail validé sur la branche incorrecte.
Appliquer un correctif de bogue sur plusieurs branches.
Azure Repos offre une prise en charge limitée du cherry-picking, et uniquement dans le but de créer une requête de tirage pour appliquer un correctif logiciel à une branche cible. Pour plus d’informations, consultez Amélioration du cherry-picking Azure DevOps.
L’option Cherry-pick dans le menu de requête de tirage dans Azure Repos effectue les opérations suivantes :
Crée une branche de rubrique à partir de la branche cible de la requête de tirage.
Cherry-pick toutes les modifications de la branche source de la requête de tirage vers la nouvelle branche de rubrique.
Vous invite à créer une requête de tirage pour fusionner la nouvelle branche de rubrique dans une autre branche cible.
L’interface web GitHub ne permet pas le cherry-picking, mais GitHub Desktop le permet. Pour obtenir des conseils pas à pas sur la manière de choisir un cherry-pick dans GitHub Desktop, consultez Cherry-picking d’une validation.
Visual Studio 2022 offre une expérience de contrôle de version Git à l’aide du menu Git, des modifications Git et des menus contextuels dans l’Explorateur de solutions. Visual Studio 2019 version 16.8 offre également l’interface utilisateur Git de Team Explorer. Pour plus d’informations, consultez l’onglet Visual Studio 2019 - Team Explorer.
Choisissez Git > Gérer les branches pour ouvrir la fenêtre Référentiel Git .
Dans la fenêtre Référentiel Git, cliquez avec le bouton droit sur la branche cible, puis sélectionnez Validation.
Dans la vue Branches, cliquez avec le bouton droit sur la branche source et choisissez Afficher l’historique pour ouvrir un onglet Historique de validation.
Sous l’onglet Historique, cliquez avec le bouton droit sur la validation que vous souhaitez sélectionner, puis choisissez Cherry-Pick. Visual Studio ne prend pas en charge la sélection de plusieurs validations à la fois. Vous devez donc répéter cette étape pour chaque validation que vous souhaitez sélectionner.
Visual Studio crée une validation de branche cible contenant les modifications de la validation choisie par un cherry-pick. Si l’opération cherry-pick ne se termine pas correctement, Visual Studio vous le signale.
Visual Studio 2019 offre une expérience de contrôle de version Git à l’aide du menu Git, des modifications Git et des menus contextuels dans l’Explorateur de solutions.
Choisissez Git > Gérer les branches pour ouvrir la fenêtre Référentiel Git .
Dans la fenêtre Référentiel Git, cliquez avec le bouton droit sur la branche cible, puis sélectionnez Validation.
Dans la vue Branches, cliquez avec le bouton droit sur la branche source et choisissez Afficher l’historique pour ouvrir un onglet Historique de validation.
Sous l’onglet Historique, cliquez avec le bouton droit sur la validation que vous souhaitez sélectionner, puis choisissez Cherry-Pick. Visual Studio ne prend pas en charge la sélection de plusieurs validations à la fois. Vous devez donc répéter cette étape pour chaque validation que vous souhaitez sélectionner.
Visual Studio crée une validation de branche cible contenant les modifications de la validation choisie par un cherry-pick. Si l’opération cherry-pick ne se termine pas correctement, Visual Studio vous le signale.
Visual Studio 2019 version 16.8 et versions ultérieures fournit une expérience de gestion de version Git tout en conservant l’interface utilisateur Git de Team Explorer. Pour utiliser Team Explorer, décochez Outils>Options>Fonctionnalités en préversion>Nouvelle expérience utilisateur Git dans la barre du menu. Vous pouvez exercer les fonctionnalités Git à partir de l’une ou l’autre interface de manière interchangeable.
Dans Team Explorer, sélectionnez le bouton Accueil et choisissez Branches.
Dans la vue Branches, cliquez avec le bouton droit sur la branche cible, puis sélectionnez Validation.
Dans la vue Branches, cliquez avec le bouton droit sur la branche source et choisissez Afficher l’historique pour ouvrir un onglet Historique de validation.
Sous l’onglet Historique, cliquez avec le bouton droit sur la validation que vous souhaitez sélectionner, puis choisissez Cherry-Pick. Visual Studio ne prend pas en charge la sélection de plusieurs validations à la fois. Vous devez donc répéter cette étape pour chaque validation que vous souhaitez sélectionner.
Visual Studio crée une validation de branche cible contenant les modifications de la validation choisie par un cherry-pick. Si l’opération cherry-pick ne se termine pas correctement, Visual Studio vous le signale.
Utilisez la commande git log pour répertorier les validations de branche source. L’indicateur --oneline abrège les informations de validation.
git log --oneline <source branch>
Git répertorie tout d’abord les validations les plus récentes. Chaque ID de validation est un hachage SHA-1 partiel identifiant la validation de manière unique. Par exemple :
e745d06 (HEAD -> add-network-controller) Add a test initialization class
a89f48e (origin/add-network-controller) Add fiber optic transceiver test
31da50b Add network switch test
e74baa2 (origin/main, origin/HEAD, test-fiber-optic-transmitter, main) Add readme content
0c14391 Add readme file
32e3946 Add project files.
Notez l’ID de la validation que vous souhaitez sélectionner.
Extrayez la branche cible, si elle n’est pas déjà extraite.
git checkout <target branch>
Validez, mettez en cache ou ignorez les modifications non validées.
Cherry-pick une seul validation :
git cherry-pick <commit ID>
Pour sélectionner plusieurs validations, séparez les ID de validation par des espaces. Les validations seront appliquées dans l’ordre dans lequel vous les insérez :
Lorsque vous cherry-pick plusieurs validations, la commande cherry-pick par défaut crée une séquence correspondante de nouvelles validations de branche cible. Pour indiquer à Git d’indexer et de ne pas valider les modifications de branche cible, utilisez l’indicateur -n :
git cherry-pick -n <commit1 ID> <commit2 ID>
Ensuite, vous pouvez créer manuellement une validation unique pour contenir toutes les modifications de l’opération cherry-pick.
Git vous avertit en cas de conflit de fusion lors de l’opération cherry-pick. Vous pouvez soit résoudre les conflits, puis exécuter git cherry-pick --continue, soit exécuter git cherry-pick --abort pour annuler l’opération de cherry-pick.