Skip to main content

Combinación de una solicitud de incorporación de cambios

Fusionar una solicitud de extracción dentro de una rama ascendente cuando el trabajo está completo. Cualquier persona con acceso de escritura al repositorio puede completar la fusión.

Acerca de las fusiones de las solicitudes de extracción

En una solicitud de extracción, propones que los cambios que hayas hecho en una rama de encabezado se fusionen en una rama base. Por defecto, cualquier solicitud de extracción se puede fusionar en cualquier momento, a menos que la rama de encabezado esté en conflicto con la rama base. Sin embargo, puede que existan restricciones sobre cuándo puedes fusionar una solicitud de cambios en una rama específica. Por ejemplo, puede que solo puedas fusionar una solicitud de extracción en la rama predeterminada si están pasando las verificaciones de estado requeridas. Para más información, vea "Acerca de las ramas protegidas".

Puedes configurar una solicitud de cambios para que se fusione automáticamente cuando se cumplan todos los requisitos de fusión. Para más información, vea "Combinación automática de una solicitud de incorporación de cambios".

Si la solicitud de incorporación de cambios tiene conflictos de combinación, o bien si quiere probar los cambios antes de la combinación, puede extraer del repositorio local la solicitud de incorporación de cambios y combinarla desde la línea de comandos.

No puedes fusionar un borrador de solicitud de cambios. Para más información sobre el borrador de solicitudes de incorporación de cambios, vea "Acerca de las solicitudes de incorporación de cambios".

El repositorio podría configurarse para que la rama de encabezado para una solicitud de cambios se borre automáticamente cuando fusiones una solicitud de cambios. Para más información, vea "Administración de la eliminación automática de ramas".

Nota: Si borras una rama de encabezado después de haber fusionado su solicitud de extracción, GitHub verificará cualquier solicitud de extracción abierta en el mismo repositorio que especifique la rama borrada como su rama base. GitHub actualiza automáticamente cualquier solicitud de extracción, cambiando su rama base a la rama base de la solicitud de extracción que se ha fusionado. Para más información, vea "Acerca de las ramas".

Las solicitudes de incorporación de cambios se combinan con la opción--no-ff, excepto las solicitudes de incorporación de cambios con confirmaciones de fusión mediante cambio de base o fusión mediante combinación con "squash", que se combinan mediante la opción de avance rápido.

Puedes vincular una solicitud de incorporación de cambios a una incidencia para mostrar que una corrección está en curso y para cerrar automáticamente la incidencia cuando un usuario fusione mediante combinación dicha solicitud. Para más información, vea "Vinculación de una solicitud de incorporación de cambios a una incidencia".

Si decide que no quiere que los cambios en una rama de tema se combinen con la rama ascendente, puede cerrar la solicitud de incorporación de cambios sin combinarla.

Combinación de una solicitud de incorporación de cambios

  1. En el nombre del repositorio, haga clic en Solicitudes de incorporación de cambios. Selección de la pestaña Incidencias y solicitudes de incorporación de cambios

  2. En la lista "Pull Requests" (Solicitudes de extracción), haz clic en la solicitud de extracción que deseas fusionar.

  3. Según las opciones de fusión habilitadas para tu repositorio, puedes:

    Nota: Fusionar mediante cambio de base y combinar siempre actualizará la información de la persona que confirma el cambio y creará SHA de confirmación. Para más información, vea "Acerca de las combinaciones de solicitudes de incorporación de cambios".

  4. Si se te solicita, escribe un mensaje de confirmación o acepta el mensaje predeterminado.

    Para obtener información sobre los mensajes de confirmación predeterminados para las fusiones mediante combinación con "squash", vea "Acerca de las combinaciones de solicitudes de incorporación de cambios". Campo Confirmar mensaje

  5. Si tienes más de una dirección de correo electrónico asociada a la cuenta en GitHub.com, haz clic en el menú desplegable de la dirección de correo electrónico y selecciona la que se usará como dirección de correo electrónico del creador de Git. Únicamente las direcciones de correo electrónico verificadas aparecen en el menú desplegable. Si ha habilitado la privacidad de la dirección de correo electrónico, <username>@users.noreply.github.com es la dirección de correo electrónico predeterminada del creador de la confirmación. Para más información, vea "Configuración de la dirección de correo electrónico de confirmación". Elección de direcciones de correo electrónico para confirmaciones

    Nota: El selector de correo electrónico no está disponible para las combinaciones de fusión mediante cambio de base, que no crean una confirmación de combinación. Para las fusiones mediante combinación con "squash", el selector de correo electrónico solo se muestra si eres el autor de la solicitud de incorporación de cambios y tienen más de una dirección de correo electrónico asociada a tu cuenta.

  6. Haga clic en Confirm merge, Confirm squash and merge o Confirm rebase and merge.

  7. Opcionalmente, elimine la rama. Esto mantiene ordenado el listado de ramas en tu repositorio.

Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".

Para combinar una solicitud de incorporación de cambios, use el subcomando gh pr merge. Reemplace pull-request por el número, la dirección URL o la rama principal de la solicitud de incorporación de cambios.

gh pr merge PULL-REQUEST

Sigue los mensajes interactivos para completar la fusión. Para más información sobre los métodos de combinación que puede elegir, vea "Acerca de las combinaciones de solicitudes de incorporación de cambios".

Como alternativa, puedes utilizar marcadores para omitir los mensajes interactivos. Por ejemplo, este comando combinará las confirmaciones en una sola con el mensaje de confirmación "my squash commit", fusiona la confirmación combinada en la rama base y luego borra la rama local y remota.

gh pr merge 523 --squash --body "my squash commit" --delete-branch

Información adicional