Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
La selección exclusiva de Git copia los cambios de una o varias confirmaciones de rama de origen en una rama de destino. A diferencia de fusión mediante combinación o fusión mediante cambio de base, la selección exclusiva le permite seleccionar confirmaciones específicas de la rama de origen. Para cada confirmación de rama de origen que elija, Git crea una confirmación correspondiente en la rama de destino.
Puede hacer una selección exclusiva de las tareas más comunes:
Implementar una característica específica de una rama en otra.
Copiar el trabajo que ha confirmado en la rama incorrecta.
Aplicar una corrección de errores en varias ramas.
Azure Repos proporciona compatibilidad limitada con la selección exclusiva 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 exclusiva de Azure DevOps.
La opción Selección exclusiva en el 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 de manera exclusiva todos los cambios de la rama de origen de la solicitud de incorporación de cambios a la nueva rama del tema.
Le solicita que cree una nueva solicitud de incorporación de cambios para combinar la nueva rama de tema en otra rama de destino.
La interfaz web de GitHub no admite la selección exclusiva, pero GitHub Desktop sí. Para obtener una guía paso a paso sobre cómo hacer una selección exclusiva en GitHub Desktop, consulte Selección exclusiva de una confirmación.
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 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á.
Use el comando git log para enumerar las confirmaciones de la rama de origen. La marca --oneline 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 quiere seleccionar.
Extraiga del repositorio la rama de destino, si aún no se ha extraído del repositorio.
git checkout <target branch>
Confirme, guarde provisionalmente o descarte los cambios pendiente de confirmación.
Para seleccionar de manera exclusiva una sola confirmación:
git cherry-pick <commit ID>
Para seleccionar de manera exclusiva varias confirmaciones, separe los identificadores de confirmación con espacios. Las confirmaciones se aplicarán en el orden en que las escriba:
Al seleccionar de manera exclusiva varias confirmaciones, el comando selección exclusiva predeterminado crea una secuencia correspondiente de confirmaciones de la nueva rama de destino. Para indicar a Git que realice la fase y no confirme los cambios de la rama de destino, use la marca -n:
git cherry-pick -n <commit1 ID> <commit2 ID>
Después, puede crear manualmente una única confirmación para contener todos los cambios de la operación selección exclusiva.
Git le notificará si hay conflictos de combinación durante la operación selección exclusiva. Puede resolver los conflictos y, después, ejecutar git cherry-pick --continue o git cherry-pick --abort para deshacer la operación selección exclusiva.