Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019 | TFS 2018
Visual Studio 2019 | Visual Studio 2022
Git cherry-pick copia los cambios de una o varias confirmaciones de rama de origen en una rama de destino. A diferencia de la combinación o la rebase, cherry-pick permite seleccionar confirmaciones de rama de origen específicas. Para cada confirmación de rama de origen que elija, Git crea una confirmación correspondiente en la rama de destino.
Puede elegir de forma cereza para abordar estas tareas comunes:
Implemente una característica específica de una rama en otra.
Copie el trabajo que ha confirmado en la rama incorrecta.
Aplique una corrección de errores en varias ramas.
Azure Repos proporciona compatibilidad limitada con la selección de cerezas y solo con el fin de crear una solicitud de incorporación de cambios para aplicar una revisión en una rama de destino. Para más información, consulte Mejora de la selección de cerezas de Azure DevOps.
La opción Cherry-pick del menú de solicitud de incorporación de cambios de Azure Repos hace lo siguiente:
Crea una nueva rama de tema a partir de la rama de destino de la solicitud de incorporación de cambios.
Selecciona todos los cambios de la rama de origen de la solicitud de incorporación de cambios a la nueva rama de tema.
Le pide que cree una nueva solicitud de incorporación de cambios para combinar la nueva rama de tema en otra rama de destino.
Visual Studio 2022 proporciona una experiencia de control de versiones de Git mediante el menú Git, Cambios de Git y los menús contextuales del Explorador de soluciones. En Visual Studio 2019, versión 16.8, también se ofrece la interfaz de usuario de Git Team Explorer. Parar obtener más información, vea la pestaña Visual Studio 2019: Team Explorer.
Elija Git > Administrar ramas para abrir la ventana Repositorio de Git.
En la ventana Repositorio de Git, haga clic con el botón secundario en la rama de destino y elija Extraer del repositorio.
En la vista Ramas, haga clic con el botón derecho en la rama de origen y elija Ver historial para abrir una pestaña Historial de confirmaciones.
En la pestaña Historial, haga clic con el botón derecho en la confirmación que quiere seleccionar de manera exclusiva y elija Selección exclusiva. Visual Studio no admite la selección exclusiva de más de una confirmación a la vez, por lo que tendrá que repetir este paso para cada confirmación que quiera elegir de manera exclusiva.
Visual Studio crea una nueva confirmación de rama de destino que contiene los cambios de la confirmación seleccionada de manera exclusiva. Si la operación de selección exclusiva no se completa correctamente, Visual Studio le notificará.
Visual Studio 2019 proporciona una experiencia de control de versiones de Git mediante el menú Git, Cambios de Git y los menús contextuales del Explorador de soluciones.
Elija Git > Administrar ramas para abrir la ventana Repositorio de Git.
En la ventana Repositorio de Git, haga clic con el botón secundario en la rama de destino y elija Extraer del repositorio.
En la vista Ramas, haga clic con el botón derecho en la rama de origen y elija Ver historial para abrir una pestaña Historial de confirmaciones.
En la pestaña Historial, haga clic con el botón derecho en la confirmación que quiere seleccionar de manera exclusiva y elija Selección exclusiva. Visual Studio no admite la selección exclusiva de más de una confirmación a la vez, por lo que tendrá que repetir este paso para cada confirmación que quiera elegir de manera exclusiva.
Visual Studio crea una nueva confirmación de rama de destino que contiene los cambios de la confirmación seleccionada de manera exclusiva. Si la operación de selección exclusiva no se completa correctamente, Visual Studio le notificará.
Visual Studio 2019, versión 16.8 y versiones posteriores, proporciona una experiencia de control de versiones de Git al tiempo que mantiene la interfaz de usuario de Git de Team Explorer. Para usar Team Explorer, desactive Herramientas>Opciones>Características en versión preliminar>Nueva experiencia de usuario de Git en la barra de menús. Puede usar las características de Git indistintamente desde cualquier interfaz.
En Team Explorer, seleccione el botón Inicio y seleccione Ramas.
En la vista Ramas , haga clic con el botón derecho en la rama de destino y elija Desproteger.
En la vista Ramas, haga clic con el botón derecho en la rama de origen y elija Ver historial para abrir una pestaña Historial de confirmaciones.
En la pestaña Historial, haga clic con el botón derecho en la confirmación que quiere seleccionar de manera exclusiva y elija Selección exclusiva. Visual Studio no admite la selección exclusiva de más de una confirmación a la vez, por lo que tendrá que repetir este paso para cada confirmación que quiera elegir de manera exclusiva.
Visual Studio crea una nueva confirmación de rama de destino que contiene los cambios de la confirmación seleccionada de manera exclusiva. Si la operación de selección exclusiva no se completa correctamente, Visual Studio le notificará.
Use el git log comando para enumerar las confirmaciones de la rama de origen. La --oneline marca abrevia la información de confirmación.
git log --oneline <source branch>
Git enumera primero las confirmaciones más recientes. Cada identificador de confirmación es un hash SHA-1 parcial que identifica de forma única la confirmación. Por ejemplo:
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.
Anote el identificador de la confirmación que desea seleccionar.
Desproteger la rama de destino, si aún no está desprotegida.
git checkout <target branch>
Confirme, guarde provisionalmente o descarte los cambios pendiente de confirmación.
Para seleccionar una sola confirmación:
git cherry-pick <commit ID>
Para seleccionar varias confirmaciones, separe los identificadores de confirmación con espacios. Las confirmaciones se aplicarán en el orden en que los escriba:
Al seleccionar varias confirmaciones, el comando cherry-pick predeterminado crea una secuencia correspondiente de nuevas confirmaciones de rama de destino. Para indicar a Git que almacene provisionalmente y no confirme los cambios de la rama de destino, use la -n marca :
git cherry-pick -n <commit1 ID> <commit2 ID>
A continuación, puede crear manualmente una única confirmación para que contenga todos los cambios de la operación cherry-pick.
Git le notificará si hay conflictos de combinación durante la operación cherry-pick. Puede resolver los conflictos y, a continuación, ejecutar git cherry-pick --continueo ejecutar git cherry-pick --abort para deshacer la operación cherry-pick.
Próximamente: a lo largo de 2024, eliminaremos gradualmente los problemas de GitHub como mecanismo de comentarios para el contenido y lo reemplazaremos por un nuevo sistema de comentarios. Para obtener más información, consulte: https://aka.ms/ContentUserFeedback.