Compartir a través de


Completar, abandonar o revertir solicitudes de incorporación de cambios

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Visual Studio 2019 | Visual Studio 2022

Sugerencia

Puede usar la inteligencia artificial para ayudar con las tareas de Azure DevOps. Consulte Habilitar la asistencia de IA con Azure DevOps MCP Server para comenzar.

Una vez que todos los revisores necesarios aprueben la solicitud de incorporación de cambios (PR) y la solicitud de incorporación de cambios cumpla todos los requisitos de la directiva de rama, puede combinar los cambios en la rama de destino y completar la solicitud de incorporación de cambios. O bien, si decide no continuar con los cambios en el PR, puede abandonar el PR.

Para abordar los cambios de los revisores y responder a los comentarios de revisión y resolverlos, consulte Responder a los comentarios.

Requisitos previos

Categoría Requisitos
Acceso al proyecto Miembro de un proyecto.
Permisos - Ver código en proyectos privados: al menos acceso básico.
- Clone o contribuya al código en proyectos privados: miembro del grupo de seguridad de Colaboradores o de los permisos correspondientes del proyecto.
- Establecer permisos de rama o repositorio: Administrar permisos son permisos para la rama o el repositorio.
- Cambiar rama predeterminada: las directivas de edición son permisos para el repositorio.
- Importar un repositorio: miembro del grupo de seguridad Administradores de proyectos o con permisos de crear repositorio de nivel de proyecto de Git establecidos en Permitir. Para obtener más información, consulte Establecimiento de permisos de repositorios Git.
Servicios Repositorios habilitados.
Herramientas Optional. Uso de az repos comandos: CLI de Azure DevOps.

Nota:

En proyectos públicos, los usuarios con acceso a las partes interesadas tienen acceso completo a Azure Repos, incluida la visualización, la clonación y la contribución al código.

Categoría Requisitos
Acceso al proyecto Miembro de un proyecto.
Permisos - Ver código: acceso al menos básico.
- Clone o contribuya al código: miembro del grupo de seguridad Contributors o de los permisos correspondientes del proyecto.
Servicios Repositorios habilitados.

Para obtener más información sobre los permisos y el acceso, consulte Permisos predeterminados de repositorios y ramas de Git y Acerca de los niveles de acceso.

En Azure DevOps Services, puede administrar solicitudes de incorporación de cambios y otros recursos desde la interfaz de la línea de comandos (CLI) de Azure con la extensión azure-devops. Para aprender a trabajar con la CLI de Azure DevOps Services, vea Introducción a la CLI de Azure DevOps. Los comandos de la CLI de Azure Repos para las solicitudes de incorporación de cambios usan az repos pr.

Comprobación de los cambios de combinación

Cuando completas un pull request, Git agrega un nuevo commit de fusión al final de la rama principal. Esta confirmación de cambios de fusión vincula los historiales anteriores de la rama principal y la rama de origen del PR. Para ver la vista previa del commit de fusión y comprobar si hay conflictos de combinación, seleccione el menú Más opciones en la esquina superior derecha de la página de Resumen del PR y, luego, seleccione Ver cambios de combinación.

Si cambió la rama de destino después de crear el PR, seleccione Reiniciar fusión para crear una nueva confirmación de fusión para previsualización y actualizar la vista de diferencias del cambio de fusión.

Captura de pantalla que muestra las opciones Ver combinación y Reiniciar combinación en el menú Más opciones de PR.

Revisión de directivas de rama

Los equipos pueden establecer directivas de rama que requieran solicitudes de incorporación de cambios en ramas protegidas para cumplir criterios específicos antes de que se puedan combinar las solicitudes de incorporación de cambios. Puede ver las directivas de rama en vigor para la solicitud de incorporación de cambios, tanto si son necesarias para la combinación como si la solicitud de incorporación de cambios se está aprobando o no.

En la pestaña Información general de la solicitud de incorporación de cambios se resumen las directivas de rama que pasan o producen errores en la solicitud de incorporación de cambios. La información general solo enumera las directivas con errores, pero puede ver todas las comprobaciones de directiva seleccionando Ver <n> comprobaciones.

En la página Resumen de PR, los requisitos de la política de ramas tienen un icono . Seleccione Más opciones junto al requisito y, después, seleccione Ver directiva para ir a la página Directivas de rama de la rama en Configuración del proyecto.

Captura de pantalla que muestra Ver directiva junto a un requisito de directiva de rama en una PR.

Completar un pull request

Después de resolver los conflictos de combinación y la solicitud de incorporación de cambios cumple todas las directivas de rama y tiene todas las aprobaciones necesarias, puede completar la solicitud de incorporación de cambios.

  1. Seleccione Completar en la esquina superior derecha para completar el PR. O bien, seleccione la flecha desplegable situada junto al botón Completar y seleccione una de las opciones.

    Captura de pantalla que muestra las opciones del botón Completar para una PR.

    • Completar: complete la solicitud de incorporación de cambios ahora y combine los cambios en la rama de destino.
    • Establecer autocompletar: configure el PR para completarlo y combinarlo una vez que cumpla todas las políticas de rama necesarias.
    • Marcar como borrador: Devolver la PR al estado de borrador y eliminar todos los votos.
    • Abandonar: cerrar el PR sin combinar los cambios.
  2. En el panel Completar solicitud de incorporación de cambios, en Tipo de combinación, seleccione una de las opciones de combinación.

    Captura de pantalla que muestra el cuadro de diálogo PR completo.

    • Fusionar (sin avance rápido): fusiona un historial no lineal que conserva todas las confirmaciones.
    • Squash commit: Fusión con un historial lineal que combina todas las confirmaciones de origen en una sola confirmación en el destino, o realiza un squash merge al PR. Tenga en cuenta que se creará una nueva confirmación para la rama de destino sin mantener el historial de confirmaciones de la rama de origen.
    • Rebase y avance rápido: Realiza un rebase de las confirmaciones del origen en el destino y avanza rápidamente.
    • Combinación semi lineal: hace rebase de los commits de origen en el destino y crea una combinación de dos progenitores.

    Nota:

    Se aplican directivas existentes. Por ejemplo, si tu rama actualmente tiene una política de "solo squash merge", debes cambiar esa política si quieres usar otro tipo de fusión.

  3. Seleccione cualquiera de las siguientes opciones posteriores a la finalización. Algunas opciones no están disponibles para algunos tipos de combinación.

    • Completa los elementos de trabajo asociados después de combinar: completa los elementos de trabajo vinculados.
    • Eliminar <el nombre de la rama> después de la combinación: elimina la rama de origen de la solicitud de incorporación de cambios después de la combinación.
    • Personalizar mensaje de confirmación de fusión: Agrega un mensaje de confirmación de fusión personalizado. Si selecciona esta opción, actualice el mensaje de confirmación de fusión mediante combinación.
    • Invalidar políticas de rama y habilitar fusión Forzar la fusión incluso si la solicitud de incorporación de cambios no satisface todas las directivas de rama. Esta opción solo está disponible si dispone del permiso Exento de la aplicación de la directiva.
  4. Seleccione Completar la fusión mediante combinación.

Cuando completes la combinación, los elementos de trabajo vinculados se actualizan automáticamente para reflejar la conclusión del PR.

Captura de pantalla de los elementos de trabajo vinculados que muestran las PR completadas.

Rebase al completar la solicitud de PR

Hay algunas situaciones en las que no es posible fusionar mediante cambio de base durante la finalización de la solicitud de incorporación de cambios:

  • Si una política en la rama de destino prohíbe el uso de estrategias de rebase, necesita el permiso Invalidar políticas de rama para realizar un rebase.
  • Si la rama de origen del pull request tiene directivas, no se puede rehacer el historial. El rebase modificaría la rama de origen sin pasar por el proceso de aprobación de la directiva.
  • Si usó la extensión de Merge Conflict para resolver conflictos de fusión, no puede hacer un rebase. Las resoluciones de conflictos aplicadas a una fusión triple rara vez son exitosas o válidas cuando se revierte cada confirmación de solicitud de extracción de forma individual.

En todos estos casos, puede rebasar su rama localmente y luego enviar los cambios al repositorio principal o combinar realizando "squash" los cambios cuando complete el PR.

Problema con múltiples bases de fusión

En algunos casos, una solicitud de incorporación de cambios tiene más de una base de fusión verdadera. Esta situación puede causar problemas de seguridad. Si los archivos en la solicitud de incorporación de cambios tienen versiones diferentes entre las bases de fusión, se produce una advertencia de múltiples bases de fusión. Para obtener más información y una corrección, consulte Varias bases de combinación.

Resolución de conflictos de combinación

Los cambios de archivo en la rama pueden entrar en conflicto con los cambios en otra rama. Cuando no está claro cómo combinar cambios, Git muestra los archivos que entran en conflicto en la página Información general de la solicitud de incorporación de cambios. Debe resolver los conflictos de combinación entre la rama del pull request (PR) y la rama de destino antes de poder combinar un PR o configurarlo para autocompletar. Para instrucciones sobre cómo resolver conflictos de combinación, consulte Resolución de conflictos de combinación.

Captura de pantalla que muestra conflictos de combinación en la pestaña Información general de una PR.

Establecer una solicitud de incorporación de cambios para autocompletar

Seleccione Establecer autocompletar en la lista desplegable Completar para completar y combinar los cambios de la PR tan pronto como se satisfagan las condiciones de todas las políticas de rama. Una vez completado el PR, recibirá una notificación por correo electrónico. Si un conflicto o error impide la finalización de la solicitud de incorporación de cambios, recibirá una notificación por correo electrónico sobre el problema.

Nota:

La opción Establecer autocompletar está disponible en Azure Repos y TFS 2017 y versiones posteriores cuando tiene directivas de rama. Si no ve Establecer autocompletar, no tiene ninguna política de rama. Para obtener más información, consulte Directivas de rama.

De forma predeterminada, una solicitud de extracción establecida en autocompletar solo espera a que se cumplan las políticas necesarias. En el panel Habilitar finalización automática, también puede optar por esperar por las directivas opcionales.

Captura de pantalla que muestra cómo cambiar una directiva opcional a requerida en el panel Habilitar finalización automática.

A partir de TFS 2018 Update 2, la página Información general de la solicitud de incorporación de cambios muestra la lista de criterios de directiva pendientes que la solicitud de incorporación de cambios está esperando. Si establece una directiva que se va a requerir en el panel Habilitar finalización automática, puede volver a establecerla en opcional en la página Información general.

Seleccione Cancelar autocompletar para desactivar autocompletar.

Captura de pantalla de una solicitud de incorporación de cambios en estado de autocompletar.

Captura de pantalla de una solicitud de incorporación de cambios en estado de autocompletar.

Una solicitud de incorporación de cambios configurada para autocompletarse muestra una insignia de Autocompletar en la página de Solicitudes de incorporación de cambios.

Captura de pantalla en la que se muestra un PR autocompletado en la lista de PR.

Abandonar o reactivar una solicitud de incorporación de cambios

Para abandonar los cambios y la solicitud de incorporación de cambios sin combinar, seleccione Abandonar en la lista desplegable del botón Completar. Todavía puede ver el pull request abandonado y permanece enlazado a los elementos de trabajo.

Para reactivar una solicitud de incorporación de cambios abandonada en cualquier momento, abra la solicitud de incorporación de cambios en la pestaña Abandonado en la vista Solicitud de incorporación de cambios y seleccione Reactivar en la esquina superior derecha.

Revertir una solicitud de incorporación de cambios completada

Para deshacer los cambios de un pull request, siga estos pasos. Para obtener más información, consulte Deshacer cambios.

  1. Abra la solicitud de incorporación de cambios completada y seleccione Revertir. Esta acción crea una nueva rama con cambios que deshacen el pull request en una rama de destino existente en el repositorio.

  2. En el panel Revertir solicitud de incorporación de cambios:

    1. En Rama de destino, seleccione la rama en la que quiere deshacer los cambios del pull request.
    2. En Nombre de rama puntual necesario, cambie el nombre de la rama de solicitud de incorporación de cambios si quiere.
    3. Seleccione Revertir.
  3. En la pantalla Nueva solicitud de incorporación de cambios, seleccione Crear.

  4. Fusiona el nuevo pull request para completar la reversión.

Nota:

La rama creada durante esta reversión tiene un único commit que revierte todos los cambios de archivo del pull request (PR) original. La rama no contiene un commit revertido para cada uno de los commits en el PR original.

Pasos siguientes