Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

Acerca de las ramas

Usa una rama para identificar tareas de desarrollo sin afectar otras ramas en el repositorio. Cada repositorio tiene una rama por defecto y puede tener muchas otras ramas. Puedes fusionar una rama en otra rama usando una solicitud de extracción.

En este artículo

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.

Introducción a las ramas

Las ramas te permiten desarrollar características, corregir errores, o experimentar con seguridad las ideas nuevas en un área contenida de tu repositorio.

Siempre puedes crear una rama a partir de otra rama existente. Habitualmente, puedes crear una rama nueva desde la rama predeterminada de tu repositorio. Podrás entonces trabajar en esta rama nueva aislado de los cambios que otras personas hacen al repositorio. A la rama que creas para construir una característica se le conoce como rama de característica o rama de tema. Para obtener más información, consulta "Crear y eliminar ramas dentro de tu repositorio".

También puedes usar una rama para publicar un sitio Páginas de GitHub. Para obtener más información, consulta "¿Qué son las Páginas de GitHub?"

Debes tener acceso de escritura para un repositorio para crear una rama, abrir una solicitud de extracción o eliminar y restablecer ramas en una solicitud de extracción. Para obtener más información, consulta "Permisos de acceso en GitHub".

Acerca de la rama predeterminada

Cuando creas un repositorio con contenido en GitHub, éste se inicializa con una sola rama, llamada rama predeterminada. La rama predeterminada es la rama que GitHub muestra cuando alguien visita tu repositorio. La rama predeterminada es también la rama inicial que Git verifica localmente cuando alguien clona el repositorio. La rama predeterminada es la rama base en tu repositorio, contra la cual se hacen automáticamente todas las solicitudes de extracción y confirmaciones de código, a menos de que especifiques una rama diferente.

Predeterminadamente, el nombre de dicha rama es master, pero puedes configurar el nombre a cualquiera que haga más sentido para tu flujo de trabajo. Para obtener más información acerca del nombre de la rama predeterminada, consulta la sección "Administrar la rama predeterminada para tus repositorios".

Si tienes permisos administrativos en un repositorio, puedes cambiar la rama predeterminada para que sea otra rama existente. Para obtener más información, consulta la sección "Configurar la rama predeterminada".

Trabajando con las ramas

Una vez que estés satisfecho con tu trabajo, puedes abrir una solicitud de extracción para fusionar los cambios en la rama actual (la rama de encabezado) en otra rama (la rama base). Para obtener más información, consulta "Acerca de las solicitudes de extracción."

Después de que se ha fusionado o cerrado la solicitud de extracción, puedes borrar la rama de encabezado, dado que ésta ya no se requerirá. Debes tener acceso de escritura en el repositorio para borrar las ramas. No puedes borrar ramas que estén directamente asociadas con solicitudes de extracción abiertas. Para obtener más información, consulta la sección "Borrar y restaurar ramas en una solicitud de extracción"

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. Los siguientes diagramas son un ejemplo de esto.

Aquí alguien creó una rama llamada feature1 desde la rama master, y desde entonces, has creado una rama llamada feature2 desde feature1. Hay solicitudes de extracción abiertas para ambas ramas. Las flechas indican la rama base actual para cada solicitud de extracción. En este punto, feature1 es la rama base para feature2. Si la solicitud de extracción para feature2 se fusiona ahora, la rama feature2 se fusionará en feature1.

merge-pull-request-button (botón para fusionar solicitud de extracción)

En el siguiente diagrama, alguien fusionó la solicitud de extracción para feature1 en la rama master, u borraron la rama feature1. Como resultado, GitHub ha redireccionado automáticamente la solicitud de extracción para feature2 para que su rama base sea ahora master.

merge-pull-request-button (botón para fusionar solicitud de extracción)

Ahora cuando fusiones la solicitud de extracción feature2, ésta se fusionará con la rama master.

Trabajar con ramas protegidas

Los administradores de un repositorio pueden activar las protecciones en una rama. Si estás trabajando en una rama que está protegida, no podrás eliminar ni hacer un empuje forzado a la rama. Los administradores de un repositorio además pueden activar varios parámetros de rama protegida para implementar varios flujos de trabajo antes de que se pueda fusionar una rama.

Nota: Si eres administrador de un repositorio, puedes fusionar las solicitudes de extracción en ramas con las protecciones de rama activadas incluso si la solicitud de extracción no cumple con los requisitos, a menos que las protecciones de rama hayan sido configuradas con "Incluir administradores".

Para ver si tu solicitud de extracción se puede fusionar, mira en la casilla de fusión en la parte inferior de la pestaña Conversación de la solicitud de extracción. Para obtener más información, consulta"Acerca de las ramas protegidas".

Cuando una rama está protegida:

  • No podrás eliminar ni hacer un empuje forzado a la rama.
  • Si las verificaciones de estado requeridas están activadas en la rama, no podrás fusionar cambios en la rama hasta que todas las pruebas de integración continua (CI) requeridas estén aprobadas. Para obtener más información, consulta "Acerca de las verificaciones de estado ".
  • Si las revisiones de solicitud de extracción requeridas están activadas en la rama, no podrás fusionar cambios en la rama hasta que se hayan cumplido todos los requisitos en la política de revisión de solicitud de extracción. Para obtener más información, consulta "Fusionar una solicitud de extracción".
  • Si la revisión requerida de un propietario del código está activada en una rama y una solicitud de extracción modifica un código que tiene un propietario, un propietario del código debe aprobar la solicitud de extracción antes de que se pueda fusionar. Para obtener más información, consulta "Acerca de los propietarios del código."
  • Si la firma de confirmación requerida está activada en una rama, no podrás subir ninguna confirmación de cambios a la rama que no esté firmada ni verificada. Para obtener más información, consulta las secciones "Acerca de la verificación de firma en las confirmaciones" y "Acerca de las firmas requeridas para las confirmaciones".
  • Si utilizas el editor de conflictos de GitHub para arreglar los conflictos en una solicitud de extracción que creaste desde una rama protegida, GitHub te ayuda a crear una rama alterna para esta solicitud, para que la resolución que quieras dar a los conflictos pueda fusionarse. Para obtener más información, consulta la sección "Resolver un conflicto de fusión en GitHub".

Leer más

¿Te ayudó este documento?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

O, learn how to contribute.