Las bifurcaciones son repositorios que comienzan como copias de otro repositorio, denominado repositorio de origen. Una bifurcación tiene su propia configuración y permisos, pero sigue conectada al repositorio original.
Cuando se visualiza un repositorio bifurcado en GitHub, el repositorio de origen se indica 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 propio:
- 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 del repositorio, de la organización y de la empresa pueden limitar la posibilidad de crear bifurcaciones de los repositorios y el lugar donde se pueden crear dichas 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 eres miembro de un empresa con usuarios administrados, se aplican restricciones adicionales a los repositorios de los que puedes crear bifurcaciones.
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 repositorios públicos son públicas, y las de 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 esas bifurcaciones. 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 siguen siendo privadas, pero se desconectan en redes privadas independientes. |
| Un repositorio interno cambia la visibilidad | Las bifurcaciones que pertenecen a organizaciones o cuentas personales siguen siendo 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 las 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 bifurcas un repositorio público en tu cuenta personal, puedes permitir que los mantenedores del repositorio de origen realicen envíos a tu rama de solicitud de incorporación de cambios. Esto puede ayudar a los mantenedores a actualizar la rama, ejecutar pruebas o resolver problemas pequeños antes de la combinación. No puedes otorgar permisos de escritura a una bifurcación que sea propiedad de una organización. Consulte Permitir cambios para una rama de solicitud de extracción creada desde una bifurcación.
Conjuntos de reglas de envío para repositorios bifurcados
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 ascendente.
- 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.
- Los propietarios de una organización de un repositorio que se ha bifurcado tienen permiso de lectura para bifurcaciones creadas en organizaciones, pero no tienen la capacidad de eliminar la bifurcación o sus ramas.
- Las bifurcaciones creadas en otra organización no se eliminarán cuando se quite el acceso individual del repositorio ascendente.
- Se puede acceder a las confirmaciones en cualquier repositorio de una red de bifurcación desde cualquier repositorio de la misma red, incluido el repositorio ascendente, incluso después de que se elimine una bifurcación.
Antes de permitir bifurcaciones para trabajos confidenciales, revisa los permisos y el modelo de visibilidad de tu 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 original. La organización controla los permisos de estas bifurcaciones, y los equipos visibles existentes pueden conservar el acceso.
Bifurcaciones dentro de una empresa
Los repositorios internos admiten un único nivel de bifurcación. No puedes 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.