Las bifurcaciones son repositorios que se inician como copias de otro repositorio, denominado repositorio ascendente. Una bifurcación tiene su propia configuración y permisos, pero sigue conectada al repositorio original.
Al ver un repositorio bifurcado en GitHub, el repositorio original aparece debajo del nombre de la bifurcación.
Lo que diferencia las bifurcaciones de las ramas
Una rama forma parte de un repositorio. Una bifurcación es un repositorio independiente con su propia configuración y espacio de colaboración.
Cada bifurcación puede tener su propia:
- Ramas
- Miembros y discusiones
- Propuestas y solicitudes de extracción
- Acciones y proyectos
- Etiquetas y wikis
¿Qué repositorios se pueden bifurcar?
Puedes bifurcar un repositorio privado o interno a tu cuenta personal o a una organización en GitHub donde tengas permisos para crear repositorios, siempre que la configuración del repositorio y las directivas de tu empresa permitan la bifurcación.
Por lo general, puedes bifurcar cualquier repositorio público en tu cuenta personal o en una organización en la que tengas permisos para crear repositorios, a menos que seas miembro de un empresa con usuarios administrados.
Las directivas de repositorio, organización y empresa pueden limitar si se pueden bifurcar los repositorios y dónde se pueden crear bifurcaciones. En el caso de los repositorios privados e internos, el acceso a las bifurcaciones también depende de la visibilidad del repositorio, la pertenencia a la organización y la configuración del administrador.
Si es miembro de un empresa con usuarios administrados, se aplican restricciones adicionales a los repositorios de los que puede hacer una bifurcación.
Los Cuentas de usuario administradas no pueden bifurcar repositorios desde fuera de la empresa. Pueden bifurcar repositorios privados o internos que pertenezcan a organizaciones en la empresa hacia su espacio de nombres de la cuenta de usuario u otras organizaciones que pertenezcan a la empresa, tal como especifica en la directiva de empresa. Consulte Acerca de Enterprise Managed Users
Consulte Administrar la política de bifurcación para tu organización y Implantar políticas de gestión de repositorios en su empresa.
Visibilidad de bifurcaciones
La visibilidad de una bifurcación depende de la red de repositorios del repositorio de origen. Las bifurcaciones de los repositorios públicos son públicas, y las de los repositorios privados son privadas. Las bifurcaciones de repositorios internos son privadas. No se puede cambiar la visibilidad de una bifurcación por sí misma.
Todos los repositorios de una red de repositorio comparten la misma configuración de visibilidad. Una red de repositorios incluye el repositorio original, sus bifurcaciones y las bifurcaciones de estas. Consulte Entender las conexiones entre repositorios.
La eliminación de un repositorio o el cambio de su visibilidad puede afectar a la red. Si elimina una bifurcación, las contribuciones de código de esa bifurcación pueden permanecer accesibles para la red del repositorio.
¿Qué ocurre con las bifurcaciones cuando se elimina un repositorio o cambia su visibilidad?
Advertencia
- Si eliminas el acceso de una persona a un repositorio privado, todas sus bifurcaciones de ese repositorio privado se eliminarán. Los clones locales del repositorio privado se conservarán. Si se revoca el acceso de un equipo a un repositorio privado o se elimina un equipo con acceso a un repositorio privado y los miembros del equipo no tienen acceso al repositorio a través de otro equipo, se eliminarán las bifurcaciones privadas del repositorio.
- Eres responsable de asegurar que las personas que perdieron el acceso a un repositorio borren cualquier información confidencial o propiedad intelectual.
- Los usuarios con permisos de administrador en un repositorio privado o interno pueden impedir la bifurcación de ese repositorio y los propietarios de la organización pueden denegar la bifurcación de cualquier repositorio privado o interno de una organización. Para más información, consulta Administrar la política de bifurcación para tu organización y Administrar la política de ramificación para tu repositorio.
Los cambios de visibilidad pueden separar los forks en nuevas redes de repositorios para que los propietarios actuales de los forks puedan seguir trabajando sin perder acceso de forma inesperada.
| Action | Efecto en bifurcaciones |
|---|---|
| Se elimina un repositorio privado. | También se eliminan sus bifurcaciones privadas. |
| Se elimina un repositorio público. | Una bifurcación pública activa se convierte en el nuevo repositorio principal de la red. |
| Un repositorio público se convierte en privado | Sus bifurcaciones públicas permanecen públicas en una red independiente. |
| Un repositorio privado se hace público | Las bifurcaciones privadas permanecen privadas, pero se desconectan en redes privadas independientes. |
| Un repositorio interno cambia la visibilidad | Las bifurcaciones que pertenecen a organizaciones o cuentas personales permanecen privadas. |
Cambiar un repositorio público a privado también puede afectar a las estrellas, los seguidores, el grafo de dependencias y la disponibilidad de Dependabot alerts y code scanning. Revise detenidamente la configuración de visibilidad del repositorio antes de cambiarlas.
Permisos de bifurcaciones
Las bifurcaciones privadas heredan la estructura de permisos del repositorio ascendente. Esto ayuda a que los propietarios de repositorios privados mantengan el control sobre su código. Por ejemplo, si el repositorio ascendente es privado y otorga acceso de lectura/escritura a un equipo, entonces el mismo equipo tendrá este tipo de acceso en cualquier bifurcación de dicho repositorio ascendente. Las bifurcaciones privadas solo heredarán los permisos de equipo (y no los iniciales).
Nota:
Al cambiar los permisos base de una organización, los permisos para bifurcaciones privadas no se actualizan automáticamente. Para más información, consulta Establecimiento de permisos base para una organización.
Las bifurcaciones públicas no heredan la estructura de permisos del repositorio ascendente. Los propietarios de las bifurcaciones controlan el acceso a sus bifurcaciones, pero las redes de repositorios siguen compartiendo los datos de Git. Las confirmaciones de cambios enviadas a cualquier repositorio de una red pueden ser accesibles desde otros repositorios de esa red, incluido el repositorio upstream.
Cuando creas una bifurcación de un repositorio público en tu cuenta personal, puedes permitir que los mantenedores del repositorio original envíen cambios a la rama de tu solicitud de extracción. Esto puede ayudar a los mantenedores a actualizar la rama, ejecutar pruebas o resolver problemas pequeños antes de la combinación. No puede conceder permisos de inserción a una bifurcación propiedad de una organización. Consulte Allowing changes to a pull request branch created from a fork.
Conjuntos de reglas de push para repositorios derivados
Las reglas de inserción se aplican a toda la red de bifurcación de un repositorio, lo que garantiza que todos los puntos de entrada del repositorio están protegidos. Por ejemplo, si bifurcas un repositorio con conjuntos de reglas de inserción habilitados, los mismos conjuntos de reglas de inserción también se aplicarán al repositorio bifurcada.
En el caso de un repositorio bifurcada, las únicas personas que tienen permisos de omisión para una regla de inserción son las personas que tienen permisos de omisión en el repositorio raíz.
Consulte Acerca de los conjuntos de reglas.
Consideraciones importantes de seguridad
Las bifurcaciones son herramientas de colaboración eficaces, pero pueden exponer código e historial de maneras fáciles de pasar por alto.
- Las bifurcaciones tienen sus propios permisos independientes del repositorio original.
- Los propietarios de un repositorio de origen pueden leer todos los forks de la red de repositorios.
- Los propietarios de la organización pueden tener acceso administrativo a las bifurcaciones creadas en espacios de nombres personales.
- Eliminar el acceso de alguien al repositorio de origen no siempre elimina las bifurcaciones en otras organizaciones.
- Los commits pueden seguir siendo accesibles en la red del repositorio incluso después de que se elimine un fork.
Antes de permitir bifurcaciones para trabajos confidenciales, revise los permisos y el modelo de visibilidad del repositorio u organización.
Bifurcaciones dentro de una organización
Las bifurcaciones dentro de la misma organización copian la configuración de colaboradores y equipos del repositorio de origen. La organización controla los permisos de estas bifurcaciones y los equipos visibles existentes pueden mantener el acceso.
Bifurcaciones dentro de una empresa
Los repositorios internos admiten un único nivel de bifurcación. No se puede bifurcar una bifurcación privada de un repositorio interno. Esto simplifica el acceso y la administración de repositorios que son visibles en toda una empresa.