Skip to main content

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.

Acerca de 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, vea «Crear y eliminar ramas en tu repositorio».

También puedes usar una rama para publicar un sitio GitHub Pages. Para obtener más información, vea «Acerca de GitHub Pages».

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, vea «Permisos de acceso en GitHub».

Acerca de la rama predeterminada

Cuando creas un repositorio con contenido en tu instancia de GitHub Enterprise Server, GitHub Enterprise Server crea el repositorio con una sola rama. Esta primera rama en el repositorio es la rama predeterminada. La rama predeterminada es la rama que GitHub muestra cuando alguien visita tu repositorio. La rama predeterminada también es la rama inicial que Git verifica localmente cuando alguien clona el repositorio. A menos de que especifiques una rama diferente, la rama predeterminada en un repositorio será la rama base para las solicitudes de cambio nuevas y para las confirmaciones de código.

De manera predeterminada, GitHub Enterprise Server asigna el nombre main a la rama predeterminada en cualquier repositorio nuevo.

Puedes cambiar la rama predeterminada de un repositorio existente. Para obtener más información, vea «Cambiar la rama predeterminada».

Puedes configurar el nombre de la rama predeterminada para los repositorios nuevos. Para más información, consulta "Administrar el nombre de la rama predeterminada para tus repositorios," "Administrar el nombre de la rama predeterminada para los repositorios en tu organización" y "Requerir políticas de administración de repositorios en tu empresa".

Trabajando con las ramas

Cuando esté satisfecho, puede abrir una solicitud de incorporación de cambios para combinar los cambios de la rama actual (la rama head) en otra (la rama base). Para obtener más información, vea «Acerca de las solicitudes de incorporación de cambios».

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, vea «Eliminar 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. Esto se ilustra en los diagramas siguientes.

Aquí alguien ha creado una rama llamada feature1 a partir de la rama main y, después, ha creado una rama llamada feature2 a partir de 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 momento, feature1 es la rama base de feature2. Si ahora se combina la solicitud de incorporación de cambios de feature2, la rama feature2 se combinará en feature1.

Diagrama que muestra una rama feature1 con una solicitud de incorporación de cambios que tiene como destino main y una rama feature2 con una característica de destino de solicitud de incorporación de cambios1.

En el diagrama siguiente, alguien ha combinado la solicitud de incorporación de cambios para feature1 en la rama main y ha eliminado la rama feature1. Como resultado, GitHub ha redestinado automáticamente la solicitud de incorporación de cambios para feature2 de forma que ahora su rama base sea main.

Diagrama que muestra las ramas feature1 y feature2 con solicitudes de incorporación de cambios que tienen como destino main.

Ahora, al combinar la solicitud de incorporación de cambios feature2, se combinará en la rama main.

Trabajar con ramas protegidas

Los administradores de repositorios o roles personalizados con el permiso "Editar reglas de repositorio" pueden habilitar 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.

Note

Si eres administrador de un repositorio, puedes fusionar mediante combinación las solicitudes de cambios de las ramas con protecciones de rama habilitadas incluso si la solicitud de cambios no cumple los requisitos, a menos que las protecciones de rama se hayan establecido en "Include administrators".

Para ver si se puede combinar la solicitud de incorporación de cambios, busca en el cuadro de combinación que se encuentra en la parte inferior de la pestaña Conversación de la solicitud de incorporación de cambios. Para 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, vea «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, vea «Combinación de una solicitud de incorporación de cambios».
  • 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, vea «Acerca de los propietarios de 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, vea «Acerca de la verificación de firma de confirmación» y «Acerca de las ramas protegidas».
  • Si utilizas el editor de conflictos de GitHub para arreglar los conflictos de una solicitud de cambios que creaste desde una rama protegida, GitHub te ayuda a crear una rama alternativa para la solicitud de cambios para que tu resolución de conflictos se pueda fusionar. Para obtener más información, vea «Resolver un conflicto de fusión en GitHub».

Información adicional