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 más información, vea "Creación y eliminación de ramas dentro del repositorio".

También puedes usar una rama para publicar un sitio GitHub Pages. Para 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 más información, vea "Permisos de acceso en GitHub".

Acerca de la rama predeterminada

Cuando creas un repositorio con contenido en your GitHub Enterprise Server instance, 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 más información, vea "Cambio de la rama predeterminada".

Puedes configurar el nombre de la rama predeterminada para los repositorios nuevos. Para obtener más información, consulte "Administración de la rama predeterminada de los repositorios", "Administración del nombre de la rama predeterminada en los repositorios de la organización" y "Aplicación de directivas de administración de repositorios en la 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 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 más información, vea "Eliminación y restauración de ramas en una solicitud de incorporación de cambios".

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.

merge-pull-request-button

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.

merge-pull-request-button

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

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 es administrador de un repositorio, puede combinar las solicitudes de incorporación de cambios en ramas con protecciones de rama habilitadas incluso si la solicitud de incorporación de cambios no cumple con los requisitos, a menos que las protecciones de rama se hayan establecido en "Incluir administradores".

Para ver si se puede combinar la solicitud de incorporación de cambios, busque en el cuadro de combinación situado en la parte inferior de la pestaña Conversación de la solicitud de incorporación de cambios. Para más información, vea "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 más información, vea "Acerca de las comprobaciones 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 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 más información, vea "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 más información, vea "Acerca de la comprobación de firmas 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 más información, vea "Resolución de un conflicto de combinación en GitHub".

Información adicional