Fusión de una solicitud de extracción - Amazon CodeCatalyst

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Fusión de una solicitud de extracción

Una vez que se haya revisado tu código y todos los revisores necesarios lo hayan aprobado, puedes fusionar una solicitud de extracción en la CodeCatalyst consola utilizando una estrategia de fusión compatible, como la aceleración. No todas las estrategias de fusión compatibles con la CodeCatalyst consola están disponibles como opciones para todas las solicitudes de extracción. CodeCatalyst evalúa la fusión y solo permite elegir entre las estrategias de fusión que están disponibles en la consola y que permiten fusionar la rama de origen con la de destino. También puedes combinar una solicitud de cambios con las estrategias de fusión de Git que elijas ejecutando el git merge comando en tu ordenador local o en un entorno de desarrollo para fusionar la rama de origen con la de destino. A continuación, puedes enviar esos cambios de la rama de destino al repositorio de origen CodeCatalyst.

nota

Si se fusiona la rama y se insertan los cambios en Git, no se cierra automáticamente la solicitud de cambios.

Si tienes el rol de administrador del proyecto, también puedes optar por fusionar una solicitud de extracción que aún no cumpla con todos los requisitos de aprobación y las normas de aprobación.

Fusionar una solicitud de extracción (consola)

Puedes fusionar una solicitud de extracción en la CodeCatalyst consola si no hay conflictos de fusión entre las sucursales de origen y destino y si todos los revisores necesarios han aprobado la solicitud de extracción. Si hay conflictos o si la fusión no se puede completar, el botón de fusión está inactivo y aparece la etiqueta No se puede combinar. En ese caso, debe obtener la aprobación de los aprobadores necesarios, resolver los conflictos localmente si es necesario e introducir esos cambios antes de poder realizar la fusión. Al fusionar una solicitud de extracción, se enviará automáticamente un correo electrónico al creador de la solicitud de extracción, así como a los revisores necesarios u opcionales. No se cerrará ni cambiará automáticamente el estado de ningún problema relacionado con la solicitud de extracción.

sugerencia

Puedes configurar los eventos de solicitud de cambios sobre los que recibirás correos electrónicos como parte de tu perfil. Para obtener más información, consulte Enviar notificaciones de Slack y por correo electrónico desde CodeCatalyst.

Para fusionar una solicitud de cambios
  1. Navega hasta el proyecto en el que deseas fusionar una solicitud de extracción.

  2. En la página del proyecto, en Abrir solicitudes de extracción, elige la solicitud de extracción que deseas fusionar. Si no ves la solicitud de extracción, selecciona Ver todas las solicitudes de extracción y, a continuación, selecciónela de la lista. Como alternativa, en el panel de navegación, selecciona Código, selecciona Solicitudes de extracción y, a continuación, elige la solicitud de extracción que deseas fusionar. Elija Merge (Combinar).

  3. Elige entre las estrategias de fusión disponibles para la solicitud de extracción. Si lo deseas, selecciona o deselecciona la opción para eliminar la rama de origen después de fusionar la solicitud de extracción y, a continuación, selecciona Fusionar.

    nota

    Si el botón Fusionar está inactivo o ves la etiqueta No se puede combinar, significa que los revisores necesarios aún no han aprobado la solicitud de extracción o la solicitud de extracción no se puede fusionar en la consola. CodeCatalyst Si un revisor no ha aprobado una solicitud de extracción, aparece el icono de un reloj en el área de detalles de la solicitud de extracción de información en la sección Descripción general. Si todos los revisores necesarios han aprobado la solicitud de extracción, pero el botón de combinación sigue inactivo, es posible que se esté produciendo un conflicto de fusión. Selecciona la etiqueta No se puede combinar subrayada para ver más detalles sobre por qué la solicitud de extracción no se puede fusionar. Puedes resolver los conflictos de fusión para la rama de destino en un entorno de desarrollo o en la CodeCatalyst consola y, a continuación, fusionar la solicitud de extracción, o puedes resolver los conflictos y fusionar localmente y, después, enviar la confirmación que contiene la fusión a la rama de origen. CodeCatalyst Para obtener más información, consulta Fusión de una solicitud de cambios (Git) la documentación de Git.

Anule los requisitos de fusión

Si tienes el rol de administrador de proyectos, puedes optar por fusionar una solicitud de extracción que aún no cumpla con todos los requisitos para las aprobaciones y normas de aprobación requeridas. Esto se conoce como anular los requisitos de una solicitud de extracción de fondos. Puedes optar por hacerlo si el revisor requerido no está disponible o si surge la necesidad urgente de fusionar una solicitud de extracción específica en una sucursal que tenga reglas de aprobación que no se puedan cumplir rápidamente.

Para fusionar una solicitud de extracción
  1. En la solicitud de extracción en la que deseas anular los requisitos y fusionar, selecciona la flecha desplegable situada junto al botón Combinar. Seleccione Anular los requisitos de aprobación.

  2. En Motivo de anulación, proporciona detalles sobre por qué estás fusionando esta solicitud de extracción sin cumplir con las normas de aprobación ni con los requisitos de revisión requeridos. Si bien esto es opcional, es muy recomendable.

  3. Si lo desea, elija una estrategia de fusión o acepte la predeterminada. También puedes optar por actualizar el mensaje de confirmación generado automáticamente con más detalles.

  4. Selecciona o deselecciona la opción para eliminar la rama de origen al fusionar. Te recomendamos que mantengas la rama de origen a la hora de anular los requisitos para fusionar una solicitud de extracción hasta que hayas tenido la oportunidad de revisar la decisión con otros miembros del equipo.

  5. Elija Merge (Combinar).

Fusión de una solicitud de cambios (Git)

Git admite muchas opciones para fusionar y administrar sucursales. Los siguientes comandos son algunas de las opciones que puedes usar. Para obtener más información, consulta la documentación disponible en el sitio web de Git. Una vez que hayas fusionado e introducido los cambios, cierra manualmente la solicitud de extracción. Para obtener más información, consulte Cerrar una solicitud de extracción.

Comandos comunes de Git para fusionar ramas

Combina los cambios de la rama de origen del repositorio local con la rama de destino del repositorio local.

git checkout destination-branch-name

git merge source-branch-name

Fusiona la rama de origen con la de destino, especificando una fusión rápida. Esto fusiona las ramas y mueve el puntero de la rama de destino a la punta de la rama de origen.

git checkout destination-branch-name

git merge --ff-only source-branch-name

Fusiona la rama de origen con la rama de destino, especificando una combinación rápida. Esto combina todas las confirmaciones de la rama de origen en una sola confirmación de fusión en la rama de destino.

git checkout destination-branch-name

git merge --squash source-branch-name

Fusiona la rama de origen con la de destino, especificando una fusión a tres bandas. Esto crea una confirmación de fusión y agrega las confirmaciones individuales de la rama de origen a la rama de destino.

git checkout destination-branch-name

git merge --no-ff source-branch-name

Elimina la rama de origen del repositorio local. Esto es útil para limpiar tu repositorio local después de fusionarlo con la rama de destino y enviar los cambios al repositorio de origen.

git branch -d source-branch-name

Elimina la rama de origen del repositorio remoto (el repositorio de origen CodeCatalyst) utilizando el apodo especificado por el repositorio local para el repositorio remoto. Observe el uso de los dos puntos (:). También puede --delete especificarlo como parte del comando.

git push remote-name :source-branch-name

git push remote-name --delete source-branch-name