L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Copier des modifications avec la méthode cherry-pick
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick copie les modifications d’un ou plusieurs commits depuis une ou plusieurs branches sources 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 la branche source que vous cherry-pickez, Git crée une validation correspondante 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.
- Afficher le code dans des projets privés : au moins un accès niveau de base. - Clonez ou contribuez au code dans des projets privés : membre du groupe de sécurité Contributeurs ou autorisations correspondantes dans le projet. - Définir des autorisations de branche ou de référentiel : Gérer les autorisations pour la branche ou le référentiel. - Définissez des stratégies de branche, des contrôles d’état ou modifiez la branche par défaut : autorisation Modifier les stratégies pour le référentiel ou la branche, ou appartenance au groupe de sécurité Administrateurs du projet. - Importez un référentiel : membre du groupe de sécurité Administrateurs de projet ou détenteur de l’autorisation Créer un référentiel au niveau du projet Git avec la permission Autoriser. Pour plus d’informations, consultez Définir des autorisations de dépôt Git.
- Afficher le code : accès basique minimum. - Cloner ou contribuer au code : membre du groupe de sécurité Contributeurs ou autorisations correspondantes dans le projet.
Azure Repos offre un support limité au cherry-picking, uniquement dans le but de créer un pull request pour appliquer un correctif logiciel à une branche cible. Pour plus d’informations, consultez Guide sur le cherry-picking dans Azure DevOps.
L’option cherry-pick dans le menu de pull request dans Azure Repos effectue les opérations suivantes :
Crée une nouvelle branche de sujet à partir de la branche cible de la pull request.
Cherry-pick toutes les modifications de la branche source de la requête de tirage vers la nouvelle branche de rubrique.
Il vous invite à créer une pull request pour fusionner la nouvelle branche thématique vers 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.