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 obtener más información, consulta"Acerca de las ramas protegidas".
Si la solicitud de extracción tiene conflictos de fusión, o si deseas probar los cambios antes de la fusión, puedes revisar la solicitud de extracción de forma local y fusionarla utilizando la línea de comando.
No puedes fusionar un borrador de solicitud de cambios. Para obtener más información acerca de las solicitudes de extracción en borrador "Acerca de las solicitudes de extracción".
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 obtener más información, consulta la sección "Administrar el borrado automático 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 obtener más información, consulta la sección "Acerca de las ramas".
Las solicitudes de extracción se fusionan utilizando la opción --no-ff
, excepto las solicitudes de extracción con confirmaciones de rebase y combinación, que se fusionan utilizando la opción de avance rápido.
Puedes vincular una solicitud de extracción a un informe de problemas para mostrar que se está trabajando en una solución y para cerrar automáticamente el informe de problemas cuando alguien fusione la solicitud de extracción. Para obtener más información, consulta la sección "Vincular una solicitud de extracción a un informe de problemas".
Si decides que no deseas que los cambios en una rama de tema se fusionen con la rama ascendente, puedes cerrar la solicitud de extracción sin fusionar.
Fusionar una solicitud de extracción
-
Debajo del nombre de tu repositorio, da clic en Solicitudes de cambios.
-
En la lista "Pull Requests" (Solicitudes de extracción), haz clic en la solicitud de extracción que deseas fusionar.
-
Según las opciones de fusión habilitadas para tu repositorio, puedes:
- Fusionar todas las confirmaciones de cambios dentro de la rama base al hacer clic en Merge pull request (Fusionar solicitud de extracción). Si no se muestra la opción Merge pull request (Fusionar solicitud de extracción), haz clic en el menú desplegable de fusiones y selecciona Create a merge commit (Crear una confirmación de fusión).
- Combinar las confirmaciones de cambios en una sola confirmación haciendo clic en el menú desplegable, luego selecciona Squash and merge (Combinar y fusionar) y haz clic en el botón Squash and merge (Combinar y fusionar).
- Rebasar las confirmaciones por separado sobre la rama base haciendo clic en el menú desplegable de fusión, luego selecciona Rebase and merge (Rebasar y fusionar) y haz clic en el botón Rebase and merge (Rebasar y fusionar).
Nota: Rebasar y fusionar siempre actualizará la información de la persona que confirma el cambio y creará una nueva SHA de confirmación de cambio. Para obtener más información, consulta "Acerca de las fusiones de solicitudes de extracción."
-
Si se solicita, escribe un mensaje de confirmación de cambios, o acepta el mensaje predeterminado.
Para obtener información acerca de los mensajes de confirmación predeterminados para las fusiones de combinación, consulta "Acerca de las fusiones de solicitudes de extracción."
Nota: El selector de correo electrónico no se encuentra disponible para las fusiones de rebase, lo cual no crea una confirmación de fusión, o para fusiones de combinación, lo cual acredita al usuario que creó la solicitud de cambios como el autor de la confirmación combinada.
- Haz clic en Confirm merge (Confirmar fusión), Confirm squash and merge (Confirmar combinación y fusión) o Confirm rebase and merge (Confirmar rebase y fusión).
- De forma opcional, elimina la rama. Esto mantiene ordenado el listado de ramas en tu repositorio.
Para aprender más sobre el CLI de GitHub, consulta la sección "Acerca del CLI de GitHub".
Para fusionar una solicitud de cambios, utiliza el subcomando gh pr merge
. Reemplaza a pull-request
con el número, URl o rama de encabezado de la solicitud de cambios.
gh pr merge pull-request
Sigue los mensajes interactivos para completar la fusión. Para obtener más información sobre los métodos de fusión que puedes elegir, consulta la sección "Acerca de las fusiones de solicitudes 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
Leer más
- "Revertir una solicitud de extracción"
- "Sincronizar tu rama" utilizando GitHub Desktop
- "Acerca de las fusiones de solicitudes de extracción"
- "Abordar conflictos de fusión"