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, 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 la sección "Acerca dePá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 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.
Predeterminadamente, GitHub Enterprise Server nombra la rama predeterminada como master
en cualquier repositorio nuevo.
Puedes cambiar la rama predeterminada de un repositorio existente. Para obtener màs informaciòn, consulta la secciòn "Cambiar 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
.
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
.
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 firmas de las confirmaciones" 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, consulta la sección "Resolver un conflicto de fusión en GitHub".
Leer más
- "Acerca de las solicitudes de extracción"
- "Rama" en el glosario GitHub
- "Ramas en resumen" en la documentación de Git